Существует модель Image в которой хранятся, как понятно из названия, изображения. Каждое отдельное изображение прикрепляется к любой другой модели посредством указания полей modelName и itemId.
Не могу сообразить как сделать жадную выборку. Для связанных таблиц через FK можно делать выборки через hasOne и hasMany, а вот как сделать без этой связи понять не могу. Как то жалко для каждой отдельной модели делать по одному лишнему запросу.
Сам модуль изображений для yii2 скачал и установил отдельно, можно глянуть на вот этом репозитории yii2-images.
Ответ из комментариев
Вместо метода where() следует использовать onCondition()
return $this->hasOne(Image::className(), ['itemId' => 'id'])
->onCondition(['modelName' => $this->tableName()]);
Продвижение своими сайтами как стратегия роста и независимости