راکت

مشکل در درخواست ایمیل بازیابی رمز

1 پاسخ

سلام دوستان
من اطلاعات کاربران از جمله ایمیل رو توی جدول metausers که با مدل Meta تعریف شده ذخیره می کنم اما موقع درخواست لینک بازیابی رمز به ارور می خورم.
توی مدل User این دو تابع رو تعریف کردم:

 public function Meta()
    {
        return $this->hasOne(MetaUser::class);
    }
public function getEmailForPasswordReset()
    {
        return $this->Meta['email'];
    }

خطایی که می گیرم توی این تابع هست و کوئری user اشتباهه ظاهرا. چجوری باید بنویسمش؟

public function sendResetLinkEmail(Request $request)
    {

        $request->validate(['email' => 'required|email']);

        $user = User::whereHas('getEmailForPasswordReset', $request->email)->first();
        if (!$user) {
            return $this->sendResetLinkFailedResponse($request, Password::INVALID_USER);
        }
        $response = $this->broker()->sendResetLink(
            $request->only('email')
        );

        return $response == Password::RESET_LINK_SENT
            ? $this->sendResetLinkResponse($request, $response)
            : $this->sendResetLinkFailedResponse($request, $response);
    }

@Raymond

ثبت پرسش جدید

پاسخ‌ها

1
میلاد قربانی
میلاد قربانی
@miladghorbani006

تخصص: php laravel

شما whereHas را روی getEmailForPasswordReset اجرا کردید که اشتباه است

        User::whereHas('Meta',function ($query) use ($request) {
            $query->where('email',$request->email);
        })->first();

whereHas برای روابط استفاده میشه

شاید پاسخ شما همین‌جا باشد

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام