Как назначить ключ и значение для объекта модели в Laravel? - PullRequest
0 голосов
/ 26 сентября 2018

Я делаю проект в Ларавеле.Я хочу назначить некоторые поля, чьи ключи столбцов, а также значения одинаковы в нескольких таблицах.Как и у меня есть общие поля, такие как create_by, updated_by, поля состояния, общие для почти каждой таблицы.

У меня есть массив значений этих ключей,

$common_data     = ['status' => Constants::ACTIVE,'created_by' => 1,'updated_by' => 1];

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

$intake = new Intake($data);
$intake->name = 'test;
$intake->email = 'test@gmail.com;
$intake->status = Constants::ACTIVE;
$intake->created_by = 1;
$intake->updated_by = 1;

и save () будет где-то еще.

Так что вместо этого, есть ли способ добавить этиобщие поля для объекта.Как какая-то операция толчка или что-то еще.

1 Ответ

0 голосов
/ 26 сентября 2018

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

class Intake extends Model {
protected static function boot()
{
    parent::boot();

    static::creating(function ($intake ) {
        $intake->status = Constants::ACTIVE;
        $intake->created_by = 1;
        $intake->updated_by = 1;
    });
}}

Попробуйте посмотреть документацию к событию Laravel

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