Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 24.05.2019 10:42:08

Можно из консоли запустить контрол который выводит отчет?

Всем привет
А можно ли в laravel 5.7 из консоли запустить контрол который выводит отчет?
То есть кроном запучкается консольная команда
php artisan report:available-spaces-by-zones

Сама команда app/Console/Commands/reportAvailableSpacesByZones.php :

<?php

namespace App\Console\Commands;

use Illuminate\Console\Command;
use Carbon\Carbon;
use App\library\AvailableSpacesByZonesReport;

class reportAvailableSpacesByZones extends Command
{
    protected $signature = 'report:available-spaces-by-zones';

    protected $description = 'With this command available-spaces-by-zones report will be sent daily';

    public function __construct()
    {
        parent::__construct();
    }

    public function handle()
    {
        \Log::info( 'Report From inside app/Console/Commands/reportAvailableSpacesByZones.php run # ' . time()  );// Сообщения в лог добавляются
        return redirect()->to('/admin/report/available-spaces-by-zones/send-email-on-open');// ОТЧЕТ НЕ ВЫПОЛНЯЕТСЯ
    }

}

Если запустить в браузер урл
/admin/report/available-spaces-by-zones/send-email-on-open
То рендится отчет и отправляется на мейл

Но редирект выше не работает и похоже не запускается совсем  нет нет логов запуска котнрола.
А как правильно?


2) Мелькнула мысль переделать отчет в обьекте с blade-темплейтом отдельно и вызывать его как в контроле так и в консольной команде.

Есть ли что в laravel 5.7 удобное для этого ?
Как лучше сделать?

Спасибо!

Не в сети

#2 24.05.2019 18:33:46

Re: Можно из консоли запустить контрол который выводит отчет?

Наверно, проблема в том, что в браузере зайти на /admin/report/available-spaces-by-zones/send-email-on-open
может только залонившейся в систему юзер? Можно ли из консоли запустить такой урл?
Или надо переделать на урл без ограничения доступа?

Не в сети

Подвал раздела