0
我现在分别拥有两个表tbl_user
和tbl_log
和User
和Log
ActiveRecord类。使用self :: STAT关系查找单个最新相关记录
tbl_log
`id` int(11) NOT NULL AUTO_INCREMENT,
`user_id` int(11) NOT NULL,
`log_date` datetime NOT NULL,
`remarks` varchar(255) NOT NULL,
用户阶级关系
public function relations() {
return array(
'rLog' => array(self::HAS_MANY, 'Log', 'user_id'),
);
}
我所试图实现的是检索有关tbl_log
的最新记录,属于一个特定的用户。
我曾尝试下面的关系添加到User
类:通过调用类似
'lastLogDate' => array(self::STAT, 'Log', 'user_id', 'select'=>'log_date', 'order'=>'log_date DESC', 'group'=>'user_id', 'defaultValue'=>'N/A'),
,这样我可以检索最新记录的log_date
:
$model = User::model()->findByPk($id);
echo $model->lastLogDate;
但后来我意识到它实际上工作不正常。返回的log_date
始终来自tbl_log
表中最小的id
,这可能是由于GROUP BY和ORDER BY ORDER BY对SQL查询的影响。
所以,现在我想知道如何通过使用类似的方法(如使用ActiveRecord类中的关系)来实现此目的?提前致谢。