Cakephp获得最长的未修改条目

时间:2012-12-04 15:10:29

标签: cakephp model

我有一个模型A

$hasMany = array('B' => array('order' => 'B.created DESC'), 
                 'C' => array('order' => 'C.created ASC')
           );

所以现在我想从我的数据库中获取A(B,C)的5个最荒凉的条目,这些条目没有被修改最长的时间(包括B和C'modified'-field)。

我该怎么做?

/编辑:用其他话来解释: 假设我有一个模型用户,其中包含姓名,地址,电子邮件等信息。 用户在他的页面上也有许多模型Post。而且他的页面上还有许多模特其他。 所以我们在User:Post和User:Other中有1:n的关系 现在我想获取用户的5个用户,其最高“修改”值(User.modified,Post.modified或Other.modified)是所有用户中五个最低的用户之一。 换句话说:5用户没有更新他们的个人资料的时间最长。

1 个答案:

答案 0 :(得分:0)

我预见未来这种技术会出现一些数据不一致的情况。我会这样做。

向名为lastactivity的用户表添加字段 在AppController.php中添加beforeSave函数

public function beforeSave() {
   $save_data = $this->data;
   if(isset($save_data['User']['modified']) || isset($save_data['Post']['modified'] || isset($save_data['Other']['modified']))){
      $data = array();
      $data['User']['id'] = $this->Auth->user('id');
      $data['User']['lastactivity'] = date("Y-m-d H:i:s");
      $this->User->save($data);
   }

}