【问题标题】:Set default order to CakePHP 3.x model [duplicate]将默认顺序设置为 CakePHP 3.x 模型 [重复]
【发布时间】:2015-10-07 01:52:02
【问题描述】:

在 CakePHP 2.x 中,可以在模型中设置 orderBy 值作为该表上每个查询的默认顺序。

在 3.x 中,文档中没有提及这一点,我尝试对变量或方法名称进行合理猜测来实现这一点的尝试没有奏效。

有人知道这是否仍然可能吗?

【问题讨论】:

标签: cakephp cakephp-3.x


【解决方案1】:

没有 3.x 等效版本。

如果你真的想要这个,最干净的解决方案是附加一个监听 beforeFind 的行为,如果还没有定义订单,则添加一个订单。但是,预计会出现边缘情况问题。您最好将订单放在需要它们的查找调用中 - 也更容易阅读/理解。

【解决方案2】:

你试过了吗 http://book.cakephp.org/3.0/en/orm/query-builder.html#selecting-rows-from-a-table

 $query = $model->find('all', [
        'order' => ['Model.created' => 'DESC']
    ]);

【讨论】:

  • 他需要一个默认顺序。不要在每个查询中都排序。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-27
  • 2016-10-31
  • 1970-01-01
相关资源
最近更新 更多