CakePHP 3.6.17:带排序的即时加载

CakePHP 3.6.17:带排序的即时加载,php,sorting,cakephp,eager-loading,model-associations,Php,Sorting,Cakephp,Eager Loading,Model Associations,我想在CakePHP3.6中将即时加载与排序结合起来 在我的控制器中,我可以使用“快速加载”或“排序方式”,但不能将它们组合在一起。这是我的密码: 快速加载: $user = $this->Users->get($id, [ 'contain' => [ 'TasksTo' => ['ProjectStatus']] ]); $this->set(compact('user')); 排序: 单独使用时,两者都能正常工作,但

我想在CakePHP3.6中将即时加载与排序结合起来

在我的控制器中,我可以使用“快速加载”或“排序方式”,但不能将它们组合在一起。这是我的密码:

快速加载:

    $user = $this->Users->get($id, [
        'contain' => [ 'TasksTo' => ['ProjectStatus']]
    ]); 
    $this->set(compact('user'));
排序:


单独使用时,两者都能正常工作,但不能同时使用。如何组合它们?

使用点符号。假设ProjectStatus链接到TasksTo,请尝试以下操作:

$user = $this->Users->get($id, [
    'contain' => ['TasksTo.ProjectStatus' => ['sort' => ['TasksTo.priority' => 'ASC']]]); 
$this->set(compact('user'));

使用点符号。假设ProjectStatus链接到TasksTo,请尝试以下操作:

$user = $this->Users->get($id, [
    'contain' => ['TasksTo.ProjectStatus' => ['sort' => ['TasksTo.priority' => 'ASC']]]); 
$this->set(compact('user'));

嗯,我是这样修理的:

$user = $this->Users->get($id, [
    'contain' => ['TasksTo' => ['ProjectStatus', 'sort' => ['TasksTo.priority' => 'ASC']]]); 
$this->set(compact('user'));

嗯,我是这样修理的:

$user = $this->Users->get($id, [
    'contain' => ['TasksTo' => ['ProjectStatus', 'sort' => ['TasksTo.priority' => 'ASC']]]); 
$this->set(compact('user'));

实际上它不起作用…如果我添加
.ProjectStatus
我可以看到状态,但是订购不起作用。你知道如何修复吗?实际上它不起作用…如果我添加
.ProjectStatus
我可以看到状态,但是订购不起作用。你知道如何修复吗?