после её сохранения создаю к ней связи:
$state = $promo->promocodes()->create(['code' => $code]);
При создании связанной модели провожу такую проверку:
public static function boot()
{
parent::boot();
self::creating(function($model){
if(self::where('code', $model->code)->first()) {
return false;
}
});
}
И тут всё ок, повторы не создаются. Но как мне об этом узнать из переменной $state?
Туда всегда возвращается массив атрибутов создаваемой модели, без учета фактического сохранения...
Что делать, чтобы получать true/false в зависимости от сохранения (но оставить удобный механизм связывания $promo->promocodes()->create..., а не создавать вручную модели, а потом вручную вязать их с родителем)?
Можно просто заюзать firstOrCreate, без лишних проверок
Обсуждают сегодня