Использование отношений yii для получения данных по различным моделям

0

Я все еще новичок в Yii, но я пытаюсь использовать отношения() для объединения двух таблиц и получения всех данных из обеих таблиц в каждой строке.

tables:
TABLE Artist KEYS(artist_Id, firstName, lastName)
TABLE Album KEYS(album_Id, title, artist_Id, genre)

// Album
public function relations()
{
    return array(
        'artist' => array(self::BELONGS_TO, 'Artist', 'artist_Id'),
        'track' => array(self::HAS_MANY, 'Track', 'track_Id')
    );
}

// Artist
public function relations()
{
    return array(
        'album' => array(self::HAS_MANY, 'Album', 'album_id')
    );
}

// logic for getting information
$dataProvider=new CActiveDataProvider('Album');
foreach($dataProvider->getData() as $key){
    echo  '<br>' . $key->artist_Id;  // does work
    echo  '<br>' . $key->firstName; // doesn't work
} 

С помощью этого кода я могу получить и отобразить правильный файл artist_Id для альбома. Тем не менее, я хочу отобразить имя artistName и lastName с artist_Id.

Теги:
yii

1 ответ

0

Мне нужно было изменить переменную $dataProvider и как я пытался получить доступ в представлении index.php

$dataProvider = new CActiveDataProvider('Album');

-До-

$dataProvider = new CActiveDataProvider('Album', array('criteria' => array('with' => array('artist'))));

и изменение вида index.php на один из двух:

'name' => 'artist.lastName',

или

'value' => '$data->artist->firstName'

Ещё вопросы

Сообщество Overcoder
Наверх
Меню