Yii1.1. Как в CListView вывести данные из связанной таблицы?

В Yii1.1 для вывода данных из связанной таблицы в CListView необходимо выполнить следующие шаги:

1. Определите отношение между соответствующими моделями в методе relations() модели, отвечающей за первичную таблицу. Например, если у вас есть модель "User" и модель "Profile", их отношение может быть определено следующим образом:

public function relations()
{
    return array(
        'profile' => array(self::HAS_ONE, 'Profile', 'user_id'),
    );
}

2. В контроллере, который отвечает за действие, где вы хотите использовать CListView, в методе actionIndex() сформируйте данные для отображения. Например:

public function actionIndex()
{
    $dataProvider = new CActiveDataProvider('User', array(
        'criteria' => array(
            'with' => 'profile',
        ),
    ));

    $this->render('index', array(
        'dataProvider' => $dataProvider,
    ));
}

3. В представлении, где вы используете CListView, определите шаблон элемента для отображения данных из связанной таблицы. Например:

$this->widget('zii.widgets.CListView', array(
    'dataProvider' => $dataProvider,
    'itemView' => '_item',
));

Создайте файл _item.php в той же директории, где находится файл представления, и определите в нем шаблон элемента:

<div class="item">
    <h2><?php echo CHtml::encode($data->username); ?></h2>
    <p><?php echo CHtml::encode($data->profile->full_name); ?></p>
</div>

В данном примере мы используем связь "profile" для доступа к связанной таблице "Profile", а затем выводим поле "full_name" из связанной модели.

Таким образом, при использовании CListView в Yii1.1 вам будет доступна связанная таблица, и вы сможете выводить данные из нее в шаблоне элемента.