نتیجه برداشتم از سوالتون رو میگم؛
شما برای اینکه یک کد رو بفهمی کی منقضی شده و کاربر رو مجدد مجبور به درخواست کد کنی کافیه توی اون تابعی که قرار اطلاعات بررسی بشه از carbon تایم جاری و فیلد created_at استفاده کنی
Forget::where('created_at', '<', Carbon::now())->get();
و باهم مقایسه کنی که اگر الان درخواستی داره سمت این متد میاد با where کردن اون کد رو پیدا میکنی توی جدولت و بعد تاریخ و تایم درخواست رو با فیلد created_at چک کنی اگر کمتر از مدت زمان مدنظرت بود که اجازه کارهای بعدی متدت رو میدی در غیر اینصورت یک پیام برمیگردونی
برای سوال اولت هم شما توی هاستت یک کرون جاب میذاری مثلا ماهی یکبار یک url سایت یا queue رو برات اجرا کنه شما توی متد مد نظرت میای کدهای که قراره انجام بشه مثلا با where اطلاعات جدول رو واکشی میکنی اون where میتونه بازده یک زمان باشه که قراره اطلاعات رو از دیتابیس بکشه بیرون و کدهای حذف رو مینویسی
این جواب ها رو با گوشی برات نوشتم تحلیل با خودت :)))
@sinaa.hajebi
از لاراول کش استفاده کنید ، دقت کنید کش لاراول کش مرورگر نیست و روی سایت ذخیره میشه ، میتونه به صورت فایل ، دیتابیس و... مثل این ها با توجه نیاز خودتون باشه ، که در مورد شما نیاز به تنظیمات خاصی نیست ، فقط باید ازش استفاده کنید.
https://laravel.com/docs/7.x/cache
برای مثال میتونید شماره همراه رو key در نظر بگیرید و کد verify رو value اون و به صورت زیر برای ده دقیقه در کش لاراول ذخیره کنید:
Cache::put('key', 'value', now()->addMinutes(10));
برای استخراج اون هم به صورت زیر عمل کنید :
$value = Cache::get('key');
خیلی ساده.
@juza66 🌹
@sinaa.hajebi بله میتونید در دیتابیس هم ذخیره کنید.
باید در config/cache.php
مقدار CACHE_DRIVER
رو روی database
بگذارید و البته یکسری migration
داره که قبلش باید حتما migrate
کنید.
مستندات رو مطالعه کنید ، کامل توضیح داده.
البته برای این موردی که شما گفتید نیازی به دیتابیس ندارید.
https://laravel.com/docs/7.x/cache
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟