* Формирование значений массива, которых нет в БД
*
* @param $tags
* @return array
*/
protected function NewTags($tags){
$exisist_tags = [];
foreach($tags as $tag) {
$exisist_tags[] = Tag::where('name', $tag)->value('name');
}
return array_diff($tags, $exisist_tags);
}
public function run(){
foreach($this->NewTags($this->tags) as $tag) {
Tag::create([
'name' => $tag,
'slug' => str_slug($tag),
]);
}
}
Проверял в партиале полученный массив из тэгов, сравнил в базе. Выдает только не существующие тэги. Но по прежнему та же обшика? Что за ...
че происходит
Так ты сам в методе NewTags возвращаешь существующие теги)
Там я проверял, возвращает именно то, чего в базе еще нет
До дядьки не доходит, что нельзя модель создать с таким-же slug, если этот slug уникальный. И он в упор не слышит советы и пытается переписать метод firstOrCreate тк думает, что проблема в нём и "он останавливает" ))
Обсуждают сегодня