Я использую следующий метод для создания выпадающего списка descriptions
с соответствующей им category
в качестве optgroup. A Category
имеет много Descriptions
.
Так что в этом случае мои activeDescriptions
- это мои отношения внутри моей Category
модели.
public static function descriptions()
{
static::active()
->with('activeDescriptions')
->orderBy('name', 'asc')
->get()
->each(function ($category) use (&$descriptions) {
$descriptions[$category->name] = $category->activeDescriptions->pluck('name', 'id')->sortBy('name')->toArray();
});
return $descriptions;
}
Дело в том, что когда у категории нет описаний, я хочу вообще исключить ее из раскрывающегося списка. Поэтому я подумал об использовании чего-то вроде:
->each(function ($category) use (&$descriptions) {
if($category->doesnthave('activeDescriptions'))
{
continue;
}
$descriptions[$category->name] = $category->activeDescriptions->pluck('name', 'id')->sortBy('name')->toArray();
});
Но это не работает, очевидно, но я не смог понять, как этого добиться. Так что любые указатели будут оценены.