Laravel, черта для создания дополнительной записи во время сохранения?

Я хочу сохранить дополнительную запись в базе данных при сохранении модели в laravel, моя модель выглядит следующим образом:

class Document extends Model
{
use DocumentSetup;
}

И моя черта выглядит так:

trait DocumentSetup {
protected static function boot()
{
static::saving(function ($model) {
$documentSetup = new DocumentSetup();
$documentSetup->document_id = $model->id;
$documentSetup->is_public = false;
$documentSetup->need_verification = true;
$documentSetup->save();
});

parent::boot();
}
}

Если я пытаюсь не получить никаких ошибок, но документ или документ не создаются, кто-нибудь знает, что я делаю здесь неправильно?

Моя идея заключается в создании этой дополнительной модели при сохранении …

2

Решение

При использовании признаков для ловушек жизненного цикла Eloquent необходимо указать метод загрузки boot[traitName] в твоем случае bootDocumentSetup, Вы также должны удалить parent::boot() вызов в черту, так как нет такого родительского вызова. Если вы назовете это так, это будет работать.

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

2

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector