обновлять запрос каждый день, используя планирование задач в laravel - PullRequest
1 голос
/ 20 апреля 2020

Я пытаюсь обновлять запрос каждый день с помощью планировщика задач laravel. В настоящее время у меня есть домашний контроллер, в котором я выбираю картинку с наибольшим количеством лайков и передаю результат на мою домашнюю страницу. Я также запустил задачу windows, которая вызывает мое laravel расписание каждую минуту.

HomeController:

$foodOfTheDay = Picture::withCount('likes')
    ->where('picture_type', 'food')
    ->orderBy('likes_count', 'desc')
    ->with('user')
    ->first();

$drinkOfTheDay = Picture::withCount('likes')
    ->where('picture_type', 'drink')
    ->orderBy('likes_count', 'desc')
    ->with('user')
    ->first();

return view('timeline.index', [
            'users' => $users,
            'pictures' => $pictures,
            'comments' => $comments,
            'foodOfTheDay' => $foodOfTheDay,               
            'drinkOfTheDay' => $drinkOfTheDay,
        ]);

Расписание:

protected function schedule(Schedule $schedule)
{
    // $schedule->command('inspire')->hourly();

   $schedule->call('\App\Http\Controllers\HomeController@petsOfDay')->daily();
}

I'm Интересно, как я мог обновлять еду и напитки дневных переменных из моего графика, сохраняя их доступными для моего домашнего просмотра.

Спасибо за вашу помощь.

1 Ответ

2 голосов
/ 20 апреля 2020

Сначала вам нужно создать команду с php artisan make:command YourCommandName. Это создает файл в app/Console/Commands/.

Во вновь созданном командном файле измените затем $signature на что-то полезное. Кроме того, в методе handle() напишите свои логики c.

Далее необходимо зарегистрировать команду в массиве $commands в app/Console/Kernel.php.

Наконец, в schedule() метод app/Console/Kernel.php, вызывайте вашу команду с частотой, например: $schedule->call('command:signature')->daily();

PS: Предполагается, что на вашем сервере уже настроено задание кукурузы, которое выполняется каждую минуту.

Чтобы решить проблему, создайте новую таблицу базы данных, в которой будут храниться фотографии дня. Затем создайте команду ремесленника, которая загружает переменные еды и питья. В расписании обновляйте команду ремесленника ежедневно. Наконец, напишите запрос в контроллере, который выбирает самый последний результат из таблицы с рисунком дня для каждой категории и передает результат этого запроса в представление.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...