NullRefExcep/yii2-eav

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.

Да, все заработало. Спасибо.

Но вот теперь, как с этим работать :) ?

Как в гриде (или на фронте) отфильтровать данные по введенным значениям через eav?
Ориентировочно, как тут
https://github.com/yeesoft/yii2-yee-eav

@loveorigami ишу можно считать закрытой, или еще остались вопросы?

Да, можно закрыть. Спасибо!