CakePHP 3使用顺序对关联数据DESC进行排序

时间:2018-06-26 02:50:23

标签: cakephp

我在CakePHP中还很陌生。我有一个具有一对多关系的Blogs和Comments表。在Blogs控制器中,我有以下代码来获取Blog数据和附加的注释。

$blog = $this->Blogs->get($id, contain => ['Comments']);
$this->set(compact('blog'));

我试图通过使用foreach循环填充评论的数据。

foreach ($blog->comments as $comment) :
echo $comment.'<br />';
endforeach;

但是,默认顺序是根据Comments表的ID升序,而我想要实现的是基于Comments.created的DESC顺序,所以当我填充数据时,最上面的应该是最新的创建评论等等。非常感谢您提供任何帮助!

1 个答案:

答案 0 :(得分:2)

您可以在包含中提供额外的信息。 https://book.cakephp.org/3.0/en/orm/retrieving-data-and-resultsets.html#sorting-contained-associations

$blog = $this->Blogs->get($id, contain => ['Comments' => ['sort' => ['Comments.created' => 'DESC']]]);
$this->set(compact('blog'));