Yii的默认潜规则好像是表主键名为表名+Id,即如user表,那么表主键应该为userId.
但是通常情况下,我直接都是拿id当主键名的。
比如现在user belongsTo group,两张表的主键名都为id,我需要这两张表联合查找,并按user表的主键id进行排序。
$criteria=new CDbCriteria;
$criteria->condition='id IN ('. implode(',',$userIds) .')';
$criteria->order='id ASC';
$count=User::model()->count($criteria);
$pages=new CPagination($count);
$pages->applyLimit($criteria);
$users=User::model()->with('group')->findAll($criteria);
现在问题就是id在两张表都存在,所以condition和order里的id会发生错误。当然,把id改成user.id就没事了。但是这样总感觉不太友好,请问强有没有什么简便的办法呢?