cakephp以id的顺序查找member_id组中的所有记录

时间:2015-03-14 13:02:04

标签: mysql cakephp

我想要一个蛋糕php查找查询以id desc的顺序查找注释表中的所有记录,但所有注释都应该在member_id组中。

假设有两个成员身份证号为20和21,而最后一个成员是身份证号为21的成员。两位成员都在不同时间发布了多条评论。

所以现在我想要所有最新评论。表示如果最新评论由身份证号为21的会员发布,则会显示身份证号为21的会员的所有评论,然后显示其他人的所有评论,等等。

我在member_id上尝试了群组,但它只为成员提供了单个记录。

id  Member_id   comment
1   20           abc
2   21           abc
3   20           abc
4   20           abc
5   21           abc

id  Member_id   comment
5   21           Abc
2   21           Abc
4   20           Abc
3   20           abc
1   20           abc

我在桌子上的记录,我想要在下面

我想要一个蛋糕php查找查询以id desc的顺序查找注释表中的所有记录,但所有注释都应该在member_id组中。

假设有两个成员身份证号为20和21,而最后一个成员是身份证号为21的成员。两位成员都在不同时间发布了多条评论。

所以现在我想要所有最新评论。表示如果最新评论由身份证号为21的会员发布,则会显示身份证号为21的会员的所有评论,然后显示其他人的所有评论,等等。

我在member_id上尝试了群组,但它只为成员提供了单个记录。

我在桌子上的记录,我想要在下面

这里最后一条评论是由成员21所以它将显示该成员的所有数据,然后是成员20,依此类推

谢谢

这里最后一条评论是由成员21所以它将显示该成员的所有数据,然后是成员20,依此类推

谢谢

1 个答案:

答案 0 :(得分:0)

我不相信这可以通过一个单一查询轻松完成(只会转换为find)。我会使用两个步骤:

  1. 获取最新评论的member_id
  2. 查询所有评论排序 基于该值。
  3. 假设这是从评论模型中写的:

    $lastCreated = $this->find('first', array(
            'order' => array('Comment.id' => 'desc')
        ));
    
    $results = $this->find('all', array(
            'order' => array('Comment.member_id = ' . $lastCreated['Comment']['member_id']. ' desc'
                        ,'Comment.id' => 'desc')
        ));
    

    第二个find语句的目标是有一个SQL语句,如:

    SELECT * 
    FROM comments AS Comment
    ORDER BY Comment.member_id = 21 desc
            ,Comment.id desc;