Paradox 3 گزارش دادن ارسال شده در آبان 1 در 3 ساعت قبل، saber گفته است : مشکل اصلی شما رو در تاپیک زیر راه حلش رو نوشتم بعد از ثبت نام هم خطاهای دیگه ای بعد از ثبت کد ارسالی برای کاربر دارید که اونهم مربوط به متد اسکوپ هست که ورودی متد رو باید اصلاح کنید. ممنون از راهنماییتون مهندس لطف کردید پس بهتره خودمون بنویسیم روت هارو بله الان از متد اسکوپ ارور گرفته Call to a member function activeCode() on null ورودی به چه صورت باید بنویسم public function scopeVerifyCode($query , $code, $user) { return !! $user->activeCode()->whereCode($code)->where('expired_at' , '>' , now())->first(); } مدل یوزر که نباید باشه درسته؟چون ارور دریافت کردم وقتی مدل پاس دادم نقل قول Share this post Link to post Share on other sites
saber 143 گزارش دادن ارسال شده در آذر 1 توی کدهاتون متد اسکوپ رو موقع استفاده مقادیر اشتباه بهش پاس دادید توی ورودی متد آبجکت user رو دارید ولی موقع پاس دادن اطلاعات بجای user فقظ phone رو بهش پاس دادید نقل قول Share this post Link to post Share on other sites
Paradox 3 گزارش دادن ارسال شده در آذر 1 در 1 ساعت قبل، saber گفته است : توی کدهاتون متد اسکوپ رو موقع استفاده مقادیر اشتباه بهش پاس دادید توی ورودی متد آبجکت user رو دارید ولی موقع پاس دادن اطلاعات بجای user فقظ phone رو بهش پاس دادید من تو کنترلر به این شکل تغییر دادم این درسته یا این هم اشتباهه؟ $status = ActiveCode::verifyCode($request->token , $user); چون دوباره برمیگرده به صفحه وریفای کد تو متد اسکوپ نمیدونم چطوری باید بنویسم نقل قول Share this post Link to post Share on other sites
Paradox 3 گزارش دادن ارسال شده در آذر 1 کنترلر به این شکل نوشتم و متد اسکوپ کامنت کردم بازهم برمیگرده به روتی که کد وریفای باید وارد بشه public function token(Request $request , User $user) { $request->validate([ 'token' => 'required' ]); $count = $user->activeCode()->whereCode($request->token)->where('expired_at' , '>' , now())->count(); if(! $count) { return redirect(route('phone.token')); } auth()->loginUsingId($user->id,$request->get('auth.remember')); $user->activeCode()->delete(); return redirect('/home'); } نقل قول Share this post Link to post Share on other sites
saber 143 گزارش دادن ارسال شده در آذر 1 شما متد اسکوپ رو توی مودل User باید بنویسید از اسکوپ برای استفاده از کوئری Model جاری استفاده میکنن ولی کدتون رو توی مودل ActiveCode نوشتید و چون نتیجه درستی برنمیگرده شرطی که گذاشتید درست عمل نمیکنه و به روت token ریدایرکت میشه محل کدها رو تغییر بدید بعد کدتون رو تست کنید نقل قول Share this post Link to post Share on other sites
Paradox 3 گزارش دادن ارسال شده در آذر 1 در 7 ساعت قبل، saber گفته است : شما متد اسکوپ رو توی مودل User باید بنویسید از اسکوپ برای استفاده از کوئری Model جاری استفاده میکنن ولی کدتون رو توی مودل ActiveCode نوشتید و چون نتیجه درستی برنمیگرده شرطی که گذاشتید درست عمل نمیکنه و به روت token ریدایرکت میشه محل کدها رو تغییر بدید بعد کدتون رو تست کنید این تیکه کد گذاشتم تو مدل user public function scopeVerifyCode($query , $code, $user) { return !! $user->activeCode()->whereCode($code)->where('expired_at' , '>' , now())->first(); } و کنترلر هم به این شکل $status = ActiveCode::verifyCode($request->token , $user); اروری که دریافت کردم Call to undefined method App\Models\ActiveCode::verifyCode() دقیقا به همون لاین وریفای کد تو کنترلر ارور داده نقل قول Share this post Link to post Share on other sites
Paradox 3 گزارش دادن ارسال شده در آذر 1 مشکل رفع شد مشکل از روت هام بود براش اشتباهی میدلور guest برای روت home تعریف شده بود و با یه تغییر تو کنترلر مشکل رفع شد ممنونم از راهنمایی های شما خیلی خیلی لطف کردید نقل قول Share this post Link to post Share on other sites