راکت
حل شده

کد آپدیت mysql

2 پاسخ

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

ثبت پرسش جدید

پاسخ‌ها

2
مهدی مشایخی
مهدی مشایخی
@MahdiMashayekhi

تخصص: برنامه نویس پایتون - ماشین لرنینگ - جنگو

بهترین پاسخ

سلام.
برای این کار می‌تونید یک جاب (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

ممنونم.🌹

شاید پاسخ شما همین‌جا باشد

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

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