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

کد آپدیت mysql

سلام دوستان من میخوام کدی بنویسم که در ساعت خاصی در جدول mysql ستون هایی که تاریخexpire تمام شده خودکار حذف کنه. پروژه با لاراول نوشته شده.
میشه لطفا راهنمایی کنید


ثبت پرسش جدید
مهدی مشایخی
تخصص : برنامه نویس پایتون - ماشین لرن...
@MahdiMashayekhi 2 سال پیش مطرح شد
0

سلام.
برای این کار می‌تونید یک جاب (Job) با استفاده از Laravel Task Scheduler تعریف کنید. در این جاب، شما تاریخ روز را با تاریخ هر ردیف در جدولتان مقایسه می‌کنید و در صورتی که تاریخexpire هر ردیف از تاریخ روز کوچکتر باشد، آن ردیف را حذف میکنید.
یک مثال ساده:

به فایل App\Console\Kernel.php و تابع schedule را پیدا کنید

یک جاب تعریف کنید تا ستون‌هایی که تاریخ انقضای آن‌ها پایان یافته حذف شود.

protected function schedule(Schedule $schedule)
{
$schedule->call(function () {
    DB::table('table_name')->where('expired_date', '<=', date('Y-m-d'))->delete();
})->daily();
}

برای مثال، در کد بالا ما جاب را برای اجرا در هر روز تعیین کردیم. با استفاده از دستورات مختلفِ Task Scheduler، می‌توانید زمان بندی خود را به دلخواه تنظیم کنید.

جاب را اجرا کنید تا ستون‌هایی که تاریخ انقضای آن‌ها به پایان رسیده، حذف بشند.


محمد
@mohammad719 2 سال پیش مطرح شد
0

ممنونم.🌹


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

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