теги к новости,
работает так
$this->tags()->firstOrCreate(['name' => $tagName]);
и все бы хорошо но у каждого тега есть slug он обязательный и тоже создается тоже с помощью трайта
поэтому когда срабатывает трайт на тег то вылетает ошибка что slug в тегах обязателен
если я делаю так
$this->tags()->firstOrCreate(['name' => $tagName, 'slug' => $tagName]);
то создается новый тег потому что траит slugable следит за тем что бы не было повторов
печенье | pechenie
печенье | pechenie-1
так вот, конечно можно отказаться от красивой команды одной строкой, в начале поискать по имени а потом создать, но тут возникает другая ловушка
этот трайт используется в нескольких можелях и таблица с тегами может меняться.
тоесть траит не может через связь делать поиск
будут советы? не хочеться делать трайты на каждый вариант, иначе в чем смысл трайта
Не юзать трейты
Обсуждают сегодня