【发布时间】:2013-06-10 11:08:34
【问题描述】:
我通过CDbCriteria 加入了模型中的一些表格,我的代码是这样的:
$crt = new CDbCriteria();
$crt->alias = 'so';
$crt->select = 'u.id, u.first_name, u.last_name';
$crt->join = " inner join " . Flow::model()->tableName() . " as fl on fl.id = so.flow_id";
$crt->join .= " inner join " . RoleUser::model()->tableName() . " as ru on ru.id = fl.receiver_role_user_id";
$crt->join .= " inner join " . User::model()->tableName() . " as u on ru.user_id= u.id";
$crt->compare('sms_outbox_group_id', $smsOutboxGroupId);
$crt->compare('fl.kind', Flow::KIND_SMS);
$crt->group = 'u.id';
$smsOutBox = new SmsOutbox();
return new CActiveDataProvider($smsOutBox, array(
'criteria' => $crt,
'sort' => array(
'defaultOrder' => 'so.id DESC',
)
));
如何在CGridView 中显示我选择的列?是否有任何可能的方式来显示 first_name 和 last_name 而无需在模型中定义关系?
【问题讨论】:
-
你应该只使用关系;这种方式更易风格。
标签: php yii dataprovider