Есть две таблицы без ключей. Для каждой создал модель(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']);
}
Все заработало
Да, у вас получается есть relation между моделями, чтобы вывести в gridview значение из связанной модели просто укажите через точку нужный атрибут, я не тестировал но по логике как-то так, по ссылке посмотрите
'columns' => [
[
'attribute' => 'manager',
'value' => 'manager.manager_firstName'
]
http://www.yiiframework.com/wiki/653/displaying-sorting-and-filtering-model-relations-on-a-gridview/
Сборка персонального компьютера от Artline: умный выбор для современных пользователей