سلام وقت بخیر
من میخام ثبت نام چندمرحله ای داشته باشم
به این صورت که اول کاربر با شماره موبایل ثبت نام میکنه و احراز هویت میشه که تا اینجا اکیه و هدایت میشه به صفحه 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;
}
@codeLover
سلام
به این شکل میتونی بررسی کنی
public function isCompleted()
{
return $this->register_at ?? false;
}
در کد بالا اگر مقدار register_at برابر با null باشد، تابع مقدار false بر میگرداند
@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 کنم
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟