/**
* Creates data provider instance with search query applied
* @param array $params
* @return ActiveDataProvider
*/
public function search($params)
{
$query = self::find()->orderBy('created_at DESC');
$dataProvider = new ActiveDataProvider(['query' => $query]);
$this->load($params);
if (!$this->validate()) {
return $dataProvider;
}
if ($this->tagIds) {
$query->joinWith('tags')->andFilterWhere(['in', Tag::tableName() . '.id', $this->tagIds]);
}
return $dataProvider;
}