Вывод данных из двух таблиц в один gridview yii2

1237
23 декабря 2016, 16:57

Есть две таблицы без ключей. Для каждой создал модель(Order и Manager). Для Order создал crud gridview и в ее модели прописал следующее

public function getManager(){
    return $this->hasMany(Manager::className(), ['order_managerId' => 'manager_id']);
}

где order_managerId - колонка из таблицы, в которой прописана данная функция, а manager_id - колонка из второй таблицы. Хочу вместо id вывести manager_firstName из второй таблицы. Вопрос, правильно ли я делаю? Во вью попробовал несколько вариантов,пока выдает ошибку.

UPD. Изменил на

public function getManager(){
    return $this->hasOne(Manager::className(), ['manager_id' => 'order_managerId']);
}

Все заработало

Answer 1

Да, у вас получается есть relation между моделями, чтобы вывести в gridview значение из связанной модели просто укажите через точку нужный атрибут, я не тестировал но по логике как-то так, по ссылке посмотрите

 'columns' => [
 [
    'attribute' => 'manager',
    'value' => 'manager.manager_firstName'
 ]

http://www.yiiframework.com/wiki/653/displaying-sorting-and-filtering-model-relations-on-a-gridview/

READ ALSO
htaccess убрать слово из url

htaccess убрать слово из url

Есть сайт на php, проблема в том что он зашифрован, и хотелось бы убрать из ссылок слово - search, можно ли это сделать как то с помощью htaccess, и чтобы...

376
Не могу залить фикстуры

Не могу залить фикстуры

При выполнении команды php app/console doctrine:fixtures:load -n выводит ошибку:

413
Выборка статей на PHP5

Выборка статей на PHP5

Есть php скрипт, который выводит из бд статьи (в теории)Но на практике он выводит только первую запись

417
Правильно понять полиморфизм

Правильно понять полиморфизм

Всем привет! Помогите понять полиморфизм правильноТак как примеров в Интернете много и все они отличаются друг от друга

360