Yii2 relation выборка изображений для сущностей

191
19 декабря 2016, 19:28

Существует модель Image в которой хранятся, как понятно из названия, изображения. Каждое отдельное изображение прикрепляется к любой другой модели посредством указания полей modelName и itemId.

Не могу сообразить как сделать жадную выборку. Для связанных таблиц через FK можно делать выборки через hasOne и hasMany, а вот как сделать без этой связи понять не могу. Как то жалко для каждой отдельной модели делать по одному лишнему запросу.

Сам модуль изображений для yii2 скачал и установил отдельно, можно глянуть на вот этом репозитории yii2-images.

Answer 1

Ответ из комментариев

Вместо метода where() следует использовать onCondition()

return $this->hasOne(Image::className(), ['itemId' => 'id'])
            ->onCondition(['modelName' => $this->tableName()]);
READ ALSO
Laravel Factory: указание значения поля для Primary Key (типа VARCHAR)

Laravel Factory: указание значения поля для Primary Key (типа VARCHAR)

Есть таблица, в которой поле для Primary Key типа VARCHARИспользую factory для заполнения таблицы записями

151
Не работает логин через псевдоним в roundcube

Не работает логин через псевдоним в roundcube

Создаю в ISP Manager новый почтовый ящик для roundcube - user@domainru И несколько псевдонимов для него - user0, user1

158
Как отправить данные, которые пришли в гугл-форм?

Как отправить данные, которые пришли в гугл-форм?

Пользователи заполняют гугл-формы и нажимают отправитьФорма не вставлена на сайте

180