Laravel Нова действие, не зависящее от предметов - PullRequest
0 голосов
/ 03 августа 2020

У меня есть таблица, полученная с устройства IoT, поэтому у меня много данных.

Я хочу создать действие для проверки согласованности данных и отсутствия недостающих данных в зависимости от 3 параметров .

Моя проблема в том, что действие отображается только тогда, когда я выбираю хотя бы 1 элемент из списка ресурсов.

Есть ли способ запустить действие, не выбирая элементы из списка?

Ответы [ 2 ]

1 голос
/ 03 августа 2020

Вы можете использовать задание cron для достижения sh этой цели. Вы можете создать Artisan-команду для проверки пропущенных элементов и добавить ее в запись cron на сервере. Пожалуйста, проверьте эту документацию.

<?php

namespace App\Console\Commands\CheckMissedItems;

use Illuminate\Console\Command;
use \DB;


class CheckMissedItems extends Command
{
    /**
     * The name and signature of the console command.
     *
     * @var string
     */
    protected $signature = 'check_missed_items:fire';

    /**
     * The console command description.
     *
     * @var string
     */
    protected $description = 'Command description';

    /**
     * Create a new command instance.
     *
     * @return void
     */
    public function __construct()
    {
        parent::__construct();
    }

    /**
     * Execute the console command.
     *
     * @return mixed
     */

    public function handle()
    {
       $missingItems = DB::table("test")->where("status", false)->count();
       if($missingItems) {
          // TODO what you need.
       }
       // TODO what you need.
    }

После этого добавьте эту Artisan-команду в расписание App\Console\Command\Kernel.php

$schedule->command('check_missed_items:fire')->daily();

Наконец добавьте php artisan schedule:run в запись cron на server.

> crontab -e

Добавьте эту команду

   * * * * * cd /path-to-your-project && php artisan schedule:run >> /dev/null 2>&1

При этом ваша команда artisan будет выполняться ежедневно в фоновом режиме.

0 голосов
/ 06 августа 2020

Похоже, вы хотите Laravel Отдельное действие Nova.

Проверить https://github.com/gobrightspot/nova-detached-actions

...