Вопрос по использованию HasOne

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
AngryGantz
Сообщения: 67
Зарегистрирован: 2012.12.11, 15:52

Вопрос по использованию HasOne

Сообщение AngryGantz »

Есть 2 таблицы - Goods (товары) и Goodscat (Категории товаров)
в Goods есть поле idcat, ссылающееся на id категории
в Goodscat соответственно есть поле name (название категории)

в модели Goods пишу

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

    public function getIdcat() {  return $this->hasOne(Goodscat::className(), ['id' => 'idcat']); } 
В контроллере в экшен показа товаров

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

$model=Goods::find()->all();
return $this->render('list', [
    'model' => $model,
]);
 
во вьюшке цикл

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

 <?php foreach ($model as $item) {
          .....                  
 }?>
Как мне в этом цикле для item->id получить название категории?
lynicidn
Сообщения: 2222
Зарегистрирован: 2014.05.24, 15:12

Re: Вопрос по использованию HasOne

Сообщение lynicidn »

$model->idcat->id
AngryGantz
Сообщения: 67
Зарегистрирован: 2012.12.11, 15:52

Re: Вопрос по использованию HasOne

Сообщение AngryGantz »

даёт пустоту. Вобщем сделал просто через Goodscat::find()->where....
подключив модель Goodscat к вьюшке. Понимаю что неправильно, но по другому не придумалось -((
ShNURoK
Сообщения: 168
Зарегистрирован: 2012.04.12, 05:44
Контактная информация:

Re: Вопрос по использованию HasOne

Сообщение ShNURoK »

$model=Goods::find()->with('idcat')->all();

<?php foreach ($model as $item) {
echo $item->idcat->name;
}?>
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Вопрос по использованию HasOne

Сообщение zelenin »

ShNURoK писал(а):$model=Goods::find()->with('idcat')->all();

<?php foreach ($model as $item) {
echo $item->idcat->name;
}?>
этот же вариант был предложен выше
ShNURoK
Сообщения: 168
Зарегистрирован: 2012.04.12, 05:44
Контактная информация:

Re: Вопрос по использованию HasOne

Сообщение ShNURoK »

Ага, затупил.
Ответить