CGridView + JOIN (нездоровый пирожок)

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
Ответить
Аватара пользователя
Ghost_nsk
Сообщения: 825
Зарегистрирован: 2012.01.01, 00:45
Откуда: Новосибирск
Контактная информация:

CGridView + JOIN (нездоровый пирожок)

Сообщение Ghost_nsk »

товарищи, подскажите кто знает, что не так делаю:
контроллер:

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

public function actionAdmin()
    {
        // Получаем данные таблицы
        $db=Yii::app()->db;
        $sql = "SELECT ip.user_id AS user_id, COUNT(ip.ip_address) AS ips, user.login AS login FROM psystem_ip_link AS ip LEFT JOIN psystem_user AS user ON user.id = user_id GROUP BY user_id";
        $results = $db->createCommand($sql)->queryAll();
        
        $model = new CArrayDataProvider($results, array(
            'sort'=>array(
                'attributes'=>array(
                    'user_id', 'ips'
                ),
            ),    
            'pagination'=>array(
                'pageSize'=>10,
            ),
            'keyField' => 'user_id',
        ));
        
        $this->render('admin',array(
            'model'=>$model,
        ));        
    }
 
отображение:

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

<?php $this->widget('zii.widgets.grid.CGridView', array(
    'id'=>'ip-link-grid',
    'dataProvider'=>$model,
    'columns'=>array(
        array(
            'name' => 'user_id',
            'header' => '№ партнера',
        ),
        array(
            'name' => 'login',
            'header' => 'Логин',
            'value' => '$data->login',
        ),
        array(
            'name' => 'ips',
            'header' => 'привязок ip-адресов'
        )
    ),
));

?>
проблема - не хочет отображать логин из Join таблицы, пишет такое:

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

Trying to get property of non-object
Dismal
Сообщения: 247
Зарегистрирован: 2011.10.16, 13:25

Re: CGridView + JOIN (нездоровый пирожок)

Сообщение Dismal »

Если не ошибаюсь, $data в данном случае будет массивом, а не объектом. $data['login']
Аватара пользователя
Ghost_nsk
Сообщения: 825
Зарегистрирован: 2012.01.01, 00:45
Откуда: Новосибирск
Контактная информация:

Re: CGridView + JOIN (нездоровый пирожок)

Сообщение Ghost_nsk »

Dismal писал(а):Если не ошибаюсь, $data в данном случае будет массивом, а не объектом. $data['login']
спасибо, помогло :)
Ответить