Можно ли как-нибудь автоматизировать заполнение колонки created_by
без использования наблюдателей, но с поддержанием чистоты моих контроллеров? Я не хочу использовать наблюдателей, потому что когда я пытаюсь заполнить свою базу данных, возникают ошибки.
То, что я делаю сейчас:
class ClientObserver
{
public function creating(Client $client)
{
$client->author()->associate(auth()->user());
}
}
, и это работает для создания клиентов через приложение, когда я регистрируюсь в загрузке поставщика услуг, но когда я использую artisan для заполнения базы данных этой фабрикой:
$factory->define(Client::class, function (Faker $faker) {
return [
'name' => $faker->company,
'description' => $faker->paragraph,
'address' => $faker->address,
'created_by' => User::all()->random()->id,
];
});
, я получаю эту ошибку:
Integrity constraint violation: 19 NOT NULL constraint failed: clients.created_by
, потому что " Создается «событие» и действует наблюдатель. Есть ли хоть какой-нибудь способ помешать наблюдателю принять меры?
Любая помощь будет приветствоваться. Спасибо:)