Вывод данных в Грид из двух моделей, с возможностью фильтарции

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
Аватара пользователя
mika_di
Сообщения: 218
Зарегистрирован: 2015.09.24, 11:57

Вывод данных в Грид из двух моделей, с возможностью фильтарции

Сообщение mika_di »

Здравствуйте. подскажите как выводе данных в один грид из двух моделей. Применять фильтры?
Проект берет данные из двух разных баз.
вот пример экшена который это делает
и

Код: Выделить всё

    public function actionIndex()
    {
        $allModels = [];
        foreach (\Yii::$app->params['sources'] as $source => $sourceLabel) {
            Yii::$app->setModelSource($source);
            $searchModel = new OrderSearch();      
            $provider = $searchModel->search();
            $models = $provider->getModels();
            foreach ($models as $m) {
                $m->source = $source;
                $allModels[] = $m;
            }
        }
        usort($allModels, function($a, $b) {
            if ($a->created > $b->created) return -1;
            return 1;
        });
        $provider = new ArrayDataProvider([
            'allModels' =>$allModels,
            'key' => function($model) {
                return ['id' => $model->id, 'source' => $model->source];
            },
            'pagination' =>[
            	'pageSize' => 25,
            ],
        ]);

        return $this->render('index', [
            'dataProvider' => $provider,
            'source' => null
        ]);
    }
sosnovskiy
Сообщения: 239
Зарегистрирован: 2017.03.28, 20:03

Re: Вывод данных в Грид из двух моделей, с возможностью фильтарции

Сообщение sosnovskiy »

Сделайте третью модель, общую.
Ответить