mission->edare_shahri_id == auth()->user()->edarate_shahri_id && $this->mission->state_id == MissionStates::REQUEST_CREATED->value; } /** * Get the validation rules that apply to the request. * * @return array */ public function rules(): array { return [ 'machine_id' => 'required|integer|exists:cmms_machines,id', 'driver' => 'required|integer|exists:rahdaran,id', ]; } public function after(): array { return [ function (Validator $validator) { $duplicateMission = Mission::query()->where('machine_id', $this->machine_id) ->whereBetween('start_date', [$this->mission->start_date, $this->mission->end_date]) ->orWhereBetween('end_date', [$this->mission->start_date, $this->mission->end_date]) ->exists(); if ($duplicateMission) { $validator->errors()->add( 'machine', 'خودروی مورد نظر در این زمان رزرو می باشد' ); } }, ]; } }