私は関係を持つ画像モデルを持っています:
public function getAlbums()
{
return $this->hasMany(ImagesTerms::className(), ['id' => 'term_id'])
->viaTable(ImagesTermsRelations::tableName(), ['object_id' => 'id'])
->andWhere(['type'=>'album']);
}
画像表示ページで、同じアルバムの画像をランダムに表示したい。誰でも助けることができますか?
次のクエリを試しましたが、必要なものが得られませんでした。
$related = Images::find()->with([
'albums' => function($query) {
$query->andWhere(['in', 'id', [2]]);
}
])->where(['status'=>'1'])->orderBy('rand()')->limit(9)->all();
このクエリは、他のアルバムを除外しますが、画像は除外します。他のアルバムの画像が表示されますが、アルバム タグはありません。