check(); } /** * Get the validation rules that apply to the request. */ public function rules(): array { return [ 'message' => [ 'required', 'exists:messages,id', // phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter.FoundBeforeLastUsed function (string $attribute, $value, callable $fail) { /** @var \App\Models\Customer */ $customer = Auth::guard('club')->user(); $ownsMessage = Message::query()->where('id', $value)->where(function (Builder $q) use ($customer) { $q->whereHas('toCustomer', fn (Builder $q) => $q->where('id', $customer->getKey())) ->orWhereHas('fromCustomer', fn (Builder $q) => $q->where('id', $customer->getKey())); })->exists(); if (! $ownsMessage) { $fail(trans('Ce message ne vous appartient pas')); } }, ], ]; } }