gpt4 book ai didi

cakephp - 如何为所有 Controller 只订购一次数据?

转载 作者:行者123 更新时间:2023-12-01 13:50:05 25 4
gpt4 key购买 nike

我正在用 CakePHP 3 (3.0.13) 编写一个非常简单的应用程序,我想知道我是否可以做一些更简单、更好的事情。

我实际上是在编写一个问题跟踪器来掌握问题和工作。我有一个名为 priorities 的表,其中包含每个级别的唯一 ID 和名称,例如低、中和高。我的问题是,虽然我已按照我希望它们出现的顺序将它们添加到数据库中,但它们按字母顺序出现,即高、低、中。

在我的 Issue Controller 的添加函数中(例如)我可以更改以下内容:

$priorities = $this->Issues->Priorities->find('list');

...到:

$priorities = $this->Issues->Priorities->find('list', ['order' => 'Priorities.id ASC']);

...但我不想在任何我想使用优先级列表的地方都这样做。

我想有一种 DRY 方式来指定它(在模型中?),它有效地设置了在其他地方使用的默认值,但如果有的话,我找不到它。

最佳答案

您可以在您的 PrioritiesTable 类中覆盖 Table::findList(),并将您的订单条件添加到查询中,例如

public function findList(Query $query, array $options)
{
$query = parent::findList($query, $options);
return $query->order(['Priorities.id' => 'ASC']);
}

另见

关于cakephp - 如何为所有 Controller 只订购一次数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32499957/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com