Php 如何对关联数据进行排序?

Php 如何对关联数据进行排序?,php,cakephp,Php,Cakephp,我知道如何使用“订单”选项对主要模型进行排序。但如何对相关数据进行排序 好的,我试过这个: $task = $this->Task->read(null, $id, array('order' => array('Subtask.completed ASC') )); 然后我发现read没有选项参数。因此,我尝试为另一个模型设置一个变量,以便使用find方法中的选项: $subtasks = $this->Subtask->find('all',

我知道如何使用“订单”选项对主要模型进行排序。但如何对相关数据进行排序

好的,我试过这个:

$task = $this->Task->read(null, $id, array('order' =>
        array('Subtask.completed ASC')
));
然后我发现read没有选项参数。因此,我尝试为另一个模型设置一个变量,以便使用find方法中的选项:

$subtasks = $this->Subtask->find('all', array('conditions' => array(
        'Subtask.task_id' => $id),
        'order' => array('Subtask.completed ASC')
));
这让我犯了以下错误:

致命错误:在第54行的C:\xampp\htdocs\taskExplorer\app\controllers\tasks\u controller.php中的非对象上调用成员函数find()

因此,问题的解决方案可能是绑定第二个模型(子任务),以便我可以使用它进行查找。但是我不知道怎么做。

试试这个:

$this->loadModel('Subtask');
$subtasks = $this->Subtask->find('all', array('conditions' => array(
    'Subtask.task_id' => $id),
    'order' => array('Subtask.completed ASC')
));
如果您已在模型中定义了关系,则可以通过以下方式访问它:

$subtasks = $this->Task->Subtask->find(
                             //rest of code
                           );

该死的这该死的折磨。。。为什么,为什么我们必须盲目地工作。。。(又名,请发布一些代码)此问题将在当前状态下关闭。添加一些代码并告诉我们您尝试了什么。请发布一些代码,特别是对您面临的问题进行更详细的描述。当您改进问题以包含有关您的问题以及您当前尝试的更多信息时,请将此标记为版主重新打开。这是否足够?你能重新开始这个问题吗?