Сонник оранжевый цвет одежды на ком-то

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.

Ответить

2 сообщения • Страница 1 из 1

azz Сообщения: 74 Зарегистрирован: 2016.07.06, 17:20

Вывод данных из связанных таблиц в GridView

  • Цитата
Приветствую. Есть 2 таблицы, связанные через третью:

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

sites id name sites_groups id name rel_sites_sgroups site_id site_group_id в модели SitesGroups связываю их:

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

public function getSitesInGroup() { return $this->hasMany(Sites::className(), ['id' => 'site_id']) ->viaTable('{{%rel_sites_sgroups}}', ['site_group_id' => 'id']); } в виде sites-groups хочу показать все сайты, которые есть в группе с выбранным id. Для этого пишу в контроллере такой код:

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

public function actionView($id) { $group = SitesGroups::findOne($id); $sites_v = $group->sitesInGroup; $dataProvider = new ActiveDataProvider([ 'query' => $sites_v, ]); return $this->render('view', [ 'model' => $this->findModel($id), 'dataProvider' => $dataProvider, ]); } и в соовт. виде добавляют стандартный код GridView. После запуска получаю ошибку "The "query" property must be an instance of a class that implements the QueryInterface e.g. yii\db\Query or its subclasses." что логично, т.к. в переменной $sites_v содержится массив. Подскажите, как передать в ActiveDataProvider тот объект, который требуется для отображения в GridView?

Вернуться к началу

WalpeR Сообщения: 61 Зарегистрирован: 2016.08.29, 17:21

Re: Вывод данных из связанных таблиц в GridView

  • Цитата

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

$dataProvider = new ActiveDataProvider([ 'query' => $group->getSitesInGroup(), ]) ;

Примечание: Несмотря на то, что эта концепция выглядит похожей на концепцию свойств объектов, между ними есть важное различие. Для обычных свойств объектов значения свойств имеют тот же тип, который возвращает геттер. Однако метод получения связных данных возвращает объект yii\db\ActiveQuery, в то время как доступ к свойству связи возвращает объект yii\db\ActiveRecord или массив таких объектов. `php $customer->orders; // массив объектов Order $customer->getOrders(); // объект ActiveQuery ` Это полезно при тонкой настройке запросов к связным данным, что будет описано в следующем разделе.

Вернуться к началу

Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB
GZIP: Off

 


Источник: http://yiiframework.ru/forum/viewtopic.php?t=44332



Рекомендуем посмотреть ещё:


Закрыть ... [X]

Данилов Василий Алексеевич. Симург-тян Поздравления с днём рождения сыну егору

Сонник оранжевый цвет одежды на ком-то Сонник оранжевый цвет одежды на ком-то Сонник оранжевый цвет одежды на ком-то Сонник оранжевый цвет одежды на ком-то Сонник оранжевый цвет одежды на ком-то Сонник оранжевый цвет одежды на ком-то

ШОКИРУЮЩИЕ НОВОСТИ