Обозреватель не работает из команды, но внутри контроллера - PullRequest
0 голосов
/ 10 февраля 2020

Я использую Observers в Laravel для добавления значений по умолчанию к attrbiutes.

public function creating($model)
{
    if (!$model->company_id) $model->company_id = (Auth::check()) ? Auth::user()->company_id : null;
}

Это работает в каждом контроллере. Но если я создам собственную команду в app\Console\Commands\. Я получил ошибку:

Подсветка \ База данных \ QueryException SQLSTATE [HY000]: Общая ошибка: 1364 Поле 'company_id' не имеет значения по умолчанию

Как сделать Я работаю с Наблюдателями из командной строки?

1 Ответ

1 голос
/ 10 февраля 2020

Auth не существует в командной строке, это промежуточное ПО http, поэтому ваш company_id всегда будет нулевым. Ошибка выводится из вашей базы данных, потому что она пуста и не имеет значения по умолчанию (и, вероятно, не обнуляется)

...