EAV для разных типов категорий
loveorigami opened this issue · 8 comments
Возник вопрос по работе с модулем.
Например, у меня есть список категорий
-Телевизоры
--LG
--Samsung
-Холодильники
--Nord
--Cool
Для всех телевизоров я сделал set TV, для холодильников - set Holod.
Как правильно при такой структуре и таком каталоге привязать через поведение данные set-ы.
Спасибо.
@loveorigami
Думаю, нужно что-то такое:
public function behaviors()
{
return [
/** ... **/
'eav' => [
'class' => Entity::class,
'entity' => function () {
$set = $this->category->set;
return new EntityModel([
'sets' => [$set],
]);
},
],
];
}
В примере есть связи товар => категория, категория => сет
Можно реализовать и связи много к многи, если нужно несколько сетов или кататегорий
Параметр поведения sets
принимает масив моделей Set.
Поэтому и задал вопрос, что не нашел примера. А доке - только картинки. Можешь дать ссылку на пример?
В документации пример, где в поведение передается массив моделей.
Как его туда будете передавать - это уже другой вопрос.
Это зависит от логики приложения.
Если хотете, могу сделать демо репозиторий с модулями категорий и eav.
@loveorigami
сделал пример, посмотрите,
https://github.com/ZAYEC77/cat-with-eav/blob/master/src/modules/product/models/Product.php#L79
Да, все заработало. Спасибо.
Но вот теперь, как с этим работать :) ?
Как в гриде (или на фронте) отфильтровать данные по введенным значениям через eav?
Ориентировочно, как тут
https://github.com/yeesoft/yii2-yee-eav
@loveorigami ишу можно считать закрытой, или еще остались вопросы?
Да, можно закрыть. Спасибо!