【发布时间】:2011-12-23 11:40:23
【问题描述】:
这 3 个表只是我整个项目的一部分(用户、配置文件、登录)
Login.php(登录表模型)
public function topten_logins(){
$criteria = new CDbCriteria;
$criteria->select = 'concat(u.firstname," ",u.lastname) as Name, p.join_date as Joined, count(*) as Logins';
$criteria->alias = 'l';
$criteria->join = 'left join users u on (u.id = l.user_id) left join profile p on (p.user_id = l.user_id)';
$criteria->group = 'l.user_id';
$criteria->order = 'Logins desc';
$criteria->limit = '10';
return new CActiveDataProvider($this, array(
'criteria'=>$criteria,
));
}
我要在CGridView中显示,我要显示的代码如下:
<?php $this->widget('zii.widgets.grid.CGridView', array(
'dataProvider'=>Login::model()->topten_logins(),
'enablePagination' => false,
'columns'=>array(
'Name',
'Joined',
'Logins',
array(
'class'=>'CButtonColumn',
),
),
)); ?>
我只想显示登录次数最多的前十名用户。
但它给了我错误信息:
未定义属性“Login.Name”。
我以前没用过 Yii。因此,我们将非常感谢您的帮助。
【问题讨论】: