0

我有一个模型 A

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

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

我怎么做?

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

4

1 回答 1

0

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

将字段添加到名为 AppController.php 的用户表中lastactivity 添加 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);
   }

}
于 2012-12-05T12:24:32.503 回答