Прежде всего интересует, возможно ли это вообще.
Суть такова. У меня есть 3 таблицы несколько различных по свое структуре, но суть их одинакова.
Сейчас я ищу записи следующим образом:
public function search($params)
{
$this->load($params);
if ($this->article_type == 2) {
$query = Journals::find()
->where(['journals.active' => self::ACTIVE])
->groupBy('journals.id');
} elseif ($this->article_type == 3) {
$query = Parks::find()
->joinWith('regionsParkRelation as rpr')
->groupBy('parks.id');
} else {
$query = Articles::findAll()
->joinWith('district')
->where(['active' => self::ACTIVE])
}
$dataProvider = new ActiveDataProvider([
'query' => $query,
]);
//.............
Тоесть смотрю в запросе если пользователь указал фильтр по категории статей, то выдаю ему соответствующие. А если фильтр не указан, то просто показываю ему только одну категорию из одной таблицы.
Собственно вопрос состоит в том, могу ли я в ActiveDataProvider передать запрос, который берет данные из всех 3-х таблиц, если фильтр не указан?
И если такая возможность имеется, подскажите, пожалуйста, как это реализовать?
Заранее благодарен всем отозвавшимся.