$query->andFilterWhere(['like', 'genres', $this->genres])
->andFilterWhere(['like', 'tags', $this->tags])
->andFilterWhere(['like', 'joint_authors', $this->joint_authors])
->andFilterWhere(['like', 'publishing', $this->publishing]);
if(is_array($this->genres) and !empty($this->genres)){
$genres_query = ['or'];
foreach($this->genres as $one){
$genres_query[] = ['like', 'genres', $one];
}
}
$query->andFilterWhere($genres_query)