Когда я нажимаю кнопку «Сохранить», он собирает сведения о задаче (имя, сообщение, период истечения), а затем вычисляет дату истечения срока действия с текущей даты, когда она была опубликована.
public function store(Request $request)
{
$currentDate = date("m-d-Y H:i:s");
$currentDate_timestamp = strtotime($currentDate);
$endDate_months = strtotime($request->lapse_period, $currentDate_timestamp);
$packageEndDate = date("m-d-Y H:i:s", $endDate_months);
echo " <br> " . $packageEndDate . " <br> ";
Task::create([
'name' => $request->name,
'message' => $request->message,
'lapse_period' => $request->lapse_period,
'expires_at' => $packageEndDate
]);
return redirect()->back();
}
Тоработает, и вопрос: как я могу создать задачу, которая запускается каждую минуту и удаляет все записи, срок действия которых меньше текущей даты?
Это то, что я пробовал в ядре, но через минуту ничего не происходит:
protected function schedule(Schedule $schedule)
{
$schedule->call(function () {
$currentDate = date("m-d-Y H:i:s");
$tasks = Task::all();
foreach ($tasks as $task) {
if($date->expires_at < $currentDate) {
$task->delete();
}
}
})->everyMinute();
}