رفتن به مطلب
انجمن پشتیبانی لاراول ایران
Paradox

مشکل در ثبت نام با موبایل

Recommended Posts

در 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

توی کدهاتون متد اسکوپ رو موقع استفاده مقادیر اشتباه بهش پاس دادید توی ورودی متد آبجکت user رو دارید ولی موقع پاس دادن اطلاعات بجای user فقظ phone رو بهش پاس دادید

Share this post


Link to post
Share on other sites
در 1 ساعت قبل، saber گفته است :

توی کدهاتون متد اسکوپ رو موقع استفاده مقادیر اشتباه بهش پاس دادید توی ورودی متد آبجکت user رو دارید ولی موقع پاس دادن اطلاعات بجای user فقظ phone رو بهش پاس دادید

من تو کنترلر به این شکل تغییر دادم این درسته یا این هم اشتباهه؟

        $status = ActiveCode::verifyCode($request->token , $user);

چون دوباره برمیگرده به صفحه وریفای کد 

 

تو متد اسکوپ نمیدونم چطوری باید بنویسم 

Share this post


Link to post
Share on other sites

کنترلر به این شکل نوشتم و متد اسکوپ کامنت کردم بازهم برمیگرده به روتی که کد وریفای باید وارد بشه 

    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

شما متد اسکوپ رو توی مودل User باید بنویسید از اسکوپ برای استفاده از کوئری Model جاری استفاده میکنن ولی کدتون رو توی مودل ActiveCode نوشتید و چون نتیجه درستی برنمیگرده

شرطی که گذاشتید درست عمل نمیکنه و به روت token ریدایرکت میشه

محل کدها رو تغییر بدید بعد کدتون رو تست کنید

Share this post


Link to post
Share on other sites
در 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

مشکل رفع شد 

مشکل از روت هام بود براش اشتباهی میدلور guest برای روت home تعریف شده بود

و با یه تغییر تو کنترلر مشکل رفع شد

 

ممنونم از راهنمایی های شما خیلی خیلی لطف کردید 🌺

Share this post


Link to post
Share on other sites

وارد این گفتگو شوید

میتوانید پیام خود را ارسال کنید و بعد ثبت نام نمایید. در صورتی که حساب کاربری دارید, هم اکنون وارد شوید و در این گفتگو شرکت کنید.

مهمان
پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  Only 75 emoji are allowed.

×   لینک شما به صورت اتوماتیک جایگذاری شد.   نمایش به عنوان یک لینک به جای

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • جدید...