Laravel: присвоить полю longText значение по умолчанию - PullRequest
0 голосов
/ 04 августа 2020

Довольно просто, в laravel я не могу дать longText или текстовым полям значение по умолчанию, учитывая поле с именем "body", где body, вероятно, будет иметь какой-то текст или html, как я могу дать ему значение по умолчанию в mysql?

1 Ответ

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

Как указано в комментариях, mysql имеет ограничения в отношении значений по умолчанию и текстов. Вместо этого вы можете установить его с помощью кода. Прежде чем что-либо будет сохранено в базе данных, запускается событие creating. Вы можете подключиться к нему и установить значение по умолчанию для модели с помощью функции загрузки.

class YourModel
{
    protected static function boot()
    {
        parent::boot();

        static::creating(function ($model) {
            $model->body = '<body></body>';
        });
    }
}

Это также можно сделать с помощью observers, который является немного более полным. Избегает слишком большого количества логи c в багажнике method(), который быстро может стать переполненным.

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