Files

62 lines
1.3 KiB
PHP
Executable File

<?php
namespace App\Http\Requests\Dashboard\Service;
use App\Models\Service;
use Illuminate\Foundation\Http\FormRequest;
class Update extends FormRequest
{
/**
*
* @return array
*/
public function rules()
{
return [
'name_uz' => 'required|string',
'name_ru' => 'required|string',
'image' => 'nullable|image',
'status' => 'required|in:published,new,soon',
'position' => 'nullable|numeric',
'is_power' => 'nullable|boolean',
];
}
/**
* @return array
*/
public function getName(): array
{
return [
'uz' => $this->get('name_uz'),
'ru' => $this->get('name_ru')
];
}
public function getPosition()
{
$position = $this->position;
if ($position == null) {
$service = Service::orderBy('position', 'desc')->first();
if ($service == null) {
return 1;
}
return $service->position + 1;
}
return $position;
}
public function generateSlug()
{
$slug = str_slug($this->name_ru);
$service = Service::where('type', $slug)->first();
if ($service == null) {
return $slug;
}
return $slug . '-' . time();
}
}