Связь книги с жанрами идет через связанную таблицу. Я вывожу все книги в ListView и встал вопрос фильтрации книг.
$query->joinWith('linkGenresBooks');
$genres_query = null;
if(is_array($this->genres_id) and !empty($this->genres_id)){
foreach($this->genres_id as $k => $g){
$genres_query[$k] = $q;
}
}
$query->andFilterWhere([
'{{%linkGenresBooks}}.genres_id' => '3',
]);
Я пробовал вот так, не проходит фильтрация, к тому же из за joinWith ломается вывод книг.
Вот связь:
public function getLinkGenresBooks()
{
return $this->hasMany(LinkGenresBooks::className(), ['books_id' => 'id']);
}
Смотрю в дэбаге вообще нет запроса на жанры