laravelÔõôʵÏÖÓâÆÚɾ³ý
Ëæ×ÅÍøÕ¾»òÓ¦ÓõÄÉú³¤£¬Êý¾ÝÁ¿Ô½À´Ô½´ó£¬´¦ÀíÊý¾ÝµÄËÙÂÊÒ²Ô½À´Ô½Âý¡£²¢ÇÒ£¬¹ý¶àÓâÆÚµÄÊý¾ÝÕ¼ÓÃÁËÐí¶à¿Õ¼ä£¬»áʹÊý¾Ý¿âµÄÐÔÄÜϽµ£¬µ¼ÖÂÍøÕ¾»òÓ¦ÓñäµÃ»ºÂý¡£Òò´Ë£¬°´ÆÚɨ³ýÓâÆÚµÄÊý¾Ý±äµÃÊ®·ÖÖ÷ÒªºÍÐëÒª¡£ÔÚlaravel¿ò¼ÜÖУ¬¿ÉÒÔʹÓÃlaravelµÄÓâÆÚɾ³ý¹¦Ð§À´½â¾öÕâ¸öÎÊÌâ¡£
LaravelµÄÓâÆÚɾ³ý¹¦Ð§ºÜÊÇÇ¿Ê¢£¬Ëü¿ÉÒÔ×Ô¶¯É¾³ýÓâÆÚµÄÊý¾Ý£¬¶øÎÞÐèÈ˹¤¸ÉÔ¤¡£ÕâÑù¿ÉÒÔ×ÊÖúÊý¾Ý¿âÔËÐеÃÔ½·¢¸ßЧ£¬Äܹ»ÓÅ»¯ÍøÕ¾»òÓ¦ÓõÄÐÔÄÜ¡£ÏÂÃæÎÒÃÇÀ´ÏêϸÏàʶһÏÂLaravelµÄÓâÆÚɾ³ý¹¦Ð§¡£
LaravelµÄÓâÆÚɾ³ý¹¦Ð§Ö÷Òª°üÀ¨ÁËÁ½¸ö·½Ã棺׼ʱÓâÆÚɾ³ýºÍÓâÆÚʱ¼ä×Ô¶¯¸üС£ÏÂÃæÎÒÃǽ«»®·Ö¶ÔÕâÁ½¸ö·½Ãæ¾ÙÐÐÏÈÈÝ£º
׼ʱÓâÆÚɾ³ý
ÔÚLaravelÖУ¬ÎÒÃÇ¿ÉÒÔʹÓÃ׼ʱʹÃüÀ´×Ô¶¯É¾³ýÓâÆÚµÄÊý¾Ý¡£×¼Ê±Ê¹Ãü¿ÉÒÔÔÚLaravelµÄʹÃüµ÷ÀíÆ÷ÖоÙÐÐÉèÖá£ÀýÈ磬ÎÒÃÇÏëÒª×Ô¶¯É¾³ý7Ìì֮ǰµÄÊý¾Ý£¬¿ÉÒÔÔÚLaravelµÄ¿ØÖÆ̨ÖÐÊäÈëÒÔÏÂÏÂÁ
php artisan schedule:run
µÇ¼ºó¸´ÖÆ
È»ºó£¬ÎÒÃÇÐèÒªÔÚLaravelµÄʹÃüµ÷ÀíÆ÷Öнç˵һ¸ö׼ʱʹÃü¡£Ïêϸ°ì·¨ÈçÏ£º
¢Ù·¿ªapp/Console/Kernel.phpÎļþ£»
¢ÚÔÚscheduleº¯ÊýÖÐÌí¼ÓÒÔÏ´úÂ룺
$schedule->call(function () { DB::table('table_name')->where('created_at', 'subDays(7))->delete(); })->daily();
µÇ¼ºó¸´ÖÆ
ÕâÐдúÂëµÄ×÷ÓÃÊÇ£ºÔÚÌìÌìµÄ0µãÖ´ÐÐÒ»´ÎʹÃü£¬É¾³ý7ÌìÒÔÇ°µÄÊý¾Ý¡£ÆäÖУ¬table_nameÊÇÄãҪɾ³ýÊý¾ÝµÄ±íÃû¡£CarbonÊÇÒ»¸öÈÕÆÚʱ¼ä¿â£¬¿ÉÒÔÈÃÎÒÃǸüÀû±ãµØ²Ù×÷ÈÕÆÚºÍʱ¼ä¡£Õâ¸öʹÃü½«»áÔÚÌìÌìµÄ0µãÖ´ÐÐÒ»´Î£¬×Ô¶¯É¾³ýËùÓÐÁè¼Ý7ÌìµÄÊý¾Ý¡£
ÓâÆÚʱ¼ä×Ô¶¯¸üÐÂ
³ýÁË×Ô¶¯É¾³ýÓâÆÚµÄÊý¾Ý£¬Laravel»¹¿ÉÒÔʵÏÖÓâÆÚʱ¼ä×Ô¶¯¸üС£ÀýÈ磬ÎÒÃǵÄÓ¦ÓÃÓÐÒ»¸ö»áÔ±¹¦Ð§£¬Ã¿¸ö»áÔ±µÄ»áÔ±ÏÞÆÚΪ30Ìì¡£µ±»áÔ±ÏÞÆÚ¿ìµ½ÆÚʱ£¬ÎÒÃÇÏ£ÍûϵͳÄܹ»×Ô¶¯¸üлáÔ±µÄ»áÔ±ÏÞÆÚ£¬ÒÔ±ãËûÃÇ¿ÉÒÔ¼ÌÐøʹÓÃÎÒÃǵÄЧÀÍ¡£
LaravelÌṩÁËCarbon¿âÀ´²Ù×÷ʱ¼ä£¬¿ÉÒÔÇáËɵØʵÏÖÓâÆÚʱ¼ä×Ô¶¯¸üС£Ïêϸ°ì·¨ÈçÏ£º
¢Ù·¿ªapp/ModelsÎļþ¼Ð£»
¢ÚÕÒµ½ÄãÒª½â¾öÓâÆÚʱ¼ä×Ô¶¯¸üеÄÄ£×ÓÎļþ£»
¢ÛÔÚÄ£×ÓµÄ$datesÊôÐÔÖÐÌí¼ÓÄãÒª×Ô¶¯¸üеÄÈÕÆÚ×ֶΣº
protected $dates = ['expired_at'];
µÇ¼ºó¸´ÖÆ
ÀýÈ磬ÔÚ»áԱģ×ÓÖУ¬ÎÒÃÇ¿ÉÒÔÕâÑùд£º
protected $dates = ['expire_time'];
µÇ¼ºó¸´ÖÆ
ÕâÑù£¬ÎÒÃǾͽ¨ÉèÁËÒ»¸ö$datesÊôÐÔ£¬¸æËßLaravelÕâ¸öÄ£×ÓÓÐÒ»¸ödatetimeÀàÐ͵Äexpire_time×ֶΣ¬ËüÓ¦¸Ã±»Ê¹ÓÃCarbonÀàÖÎÀí¡£
¢Ü·¿ªÄãµÄÄ£×ÓÎļþ£¬Ê¹ÓÃÒÔÏ´úÂë¸üÐÂÓâÆÚʱ¼ä£º
public function updateExpiredTime() { $this->expired_at = Carbon::now()->addDays(30); $this->save(); }
µÇ¼ºó¸´ÖÆ
ÔÚÕâ¸öÒªÁìÖУ¬ÎÒÃÇʹÓÃÁËCarbonÀàÖеÄaddDay()ÒªÁìÀ´½«ÓâÆÚʱ¼äÔöÌí30Ìì¡£½Ó×Å£¬ÎÒÃǽ«ÓâÆÚʱ¼äÉúÑĵ½Ä£×ÓÖУ¬Ê¹Ö®×Ô¶¯¸üС£ÕâÑù£¬ÎÒÃǾÍÀֳɵØʵÏÖÁËÓâÆÚʱ¼äµÄ×Ô¶¯¸üС£
×ÜÖ®£¬LaravelµÄÓâÆÚɾ³ý¹¦Ð§ºÜÊÇÇ¿Ê¢£¬¿ÉÒÔ×Ô¶¯É¾³ýÓâÆÚµÄÊý¾Ý£¬ÒÔÌá¸ßÊý¾Ý¿âÐÔÄܺÍÍøÕ¾»òÓ¦ÓõÄÏìÓ¦ËÙÂÊ¡£Í¬Ê±£¬ËüÒ²¿ÉÒÔ×Ô¶¯¸üÐÂÓâÆÚʱ¼ä£¬ÒÔ±ã¿ØÖÆÓâÆÚʱ¼äµÄ´¦Àí¡£ÒÔÉÏÊDZ¾ÆªÎÄÕ¶ÔLaravelÓâÆÚɾ³ý¹¦Ð§µÄÏêϸ½â˵£¬Ï£ÍûÄÜ×ÊÖú¸÷È˸üºÃµØʹÓÃLaravelÀ´´¦ÀíÊý¾Ý¡£
ÒÔÉϾÍÊÇlaravelÔõôʵÏÖÓâÆÚɾ³ýµÄÏêϸÄÚÈÝ£¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡