Paradox
1 سال پیش توسط Paradox مطرح شد
2 پاسخ

ثبت نام چند مرحله ای

سلام وقت بخیر
من میخام ثبت نام چندمرحله ای داشته باشم
به این صورت که اول کاربر با شماره موبایل ثبت نام میکنه و احراز هویت میشه که تا اینجا اکیه و هدایت میشه به صفحه home
بعدش میخام یک سری فیلد دیگه رو پر کنه اگه اطلاعات کامل پر شد کاربر بتونه روت home رو ببینه
یه فیلد تو دیتابیس به این شکل ایجاد کردم

            $table->boolean('register_at')->nullable()->default(0);

یک میدلور هم ایجاد کردم میخام اگه اطلاعات تکمیل شد کاربر روت home ببینه
اگر نشد هدایت بشه به روت rule و اطلاعات رو به ترتیب پر کنه

   public function handle(Request $request, Closure $next)
    {

        if($request->user()->isCompleted()) {
            return $next($request);

        }

        return redirect('/rule');
    }

تو مدل user هم به این شکل نوشتم
اینجا چطوری باید چک کنم کاربر اطلاعاتش تکمیل شد به صفحه home هدایت بشه؟

public function isCompleted()
    {
        return $this->register_at;
    }

ثبت پرسش جدید
سینا خاقانی
تخصص : توسعه دهنده بک‌اند
@sina.it91 1 سال پیش مطرح شد
0

@codeLover
سلام
به این شکل میتونی بررسی کنی

public function isCompleted()
    {
        return $this->register_at ?? false;
    }

در کد بالا اگر مقدار register_at برابر با null باشد، تابع مقدار false بر میگرداند


Paradox
تخصص : در حال یادگیری
@paradox 1 سال پیش آپدیت شد
0

@sina.it91
ممنونم

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

    $data = $request->validate([
            'age'=> ['required'],
            'gender'=> ['required' , 'integer'],
        ]);

        $completed = auth()->user()->update($data);

        if($completed)
        {
        //   return $completed->register_at= true;
             auth()->user()->update(['register_at' => true]);
             return redirect(route('home'));
        }
   //    auth()->user()->update([ $data , 'register_at' => true ]);

مشکلی که دارم نمیدونم چطوری هم validate هارو آپدیت کنم هم registerat برابر با true کنم


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

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