Создается тикет и в нем можно сделать дату, до которой тикет будет активен. Нашел в документации информацию про планировщик задач, сделал такой код в Kernel: PHP: protected function schedule(Schedule $schedule) { $schedule->call(function () { $current_time = Carbon::now(); DB::table('tickets') ->where('date_off', '<', $current_time) ->update(['status' => 'closed']); })->everyMinute(); // $schedule->command('inspire')->hourly(); } В конфиге timezone = 'UTC+3' поставил. Первая проблема: не работает обновление поля status по этому планировщику (см.скрин). Есть подозрение, что я не активировал, не запустил в работу планировщик. Как это сделать? Вторая проблема: см. второй скрин. Почему-то после того как в при выводе даты добавлю format, у меня меняется дата. Код: PHP: Создано {{ $ticket->created_at }} <br> @if($ticket->date_off != null) Активно до {{ $ticket->date_off->format('d.m h:m') }} @endif Почему меняется дата при форматировании даты и как пофиксить? Отдельно выводил Carbon::now() и у меня показывает текущее время компа.
Запустил через консоль команду schedule:run и по истечении времени активности тикета, он действительно меняет статус на закрытый. Но я в документации прочитал, что надо добавить это в крон (см.скрин). А если у меня нет Laravel Forge? Где я могу вручную прописать выполнение крон, чтобы планировщик каждую минуту работал?
Крон обычно просит команду для выполнения, ты её просто с консоли скопируй, но с полными путями, вместо cd до нужной папки, сразу пропиши путь к файлу который запускаешь --- Добавлено --- @lordconst на будущее совет, если что-то не работает или не понятно, то можно глянуть код framework который используешь, ещё reference api https://laravel.com/api/7.x/index.html
Код (Text): crontab -e Если на винде - то у неё есть какой-то свой шедулер, но я не пользовался. На своей машине я обычно не пихаю ничего в крон Если шаред хостинг, то там обычно в панели где-нибудь есть крон-задачи.