在CakePHP 3.x中如何使用“Contain”模型?

14

我现在有多个ThingsAnotherThing中,现在我正试图在我的AnotherThing控制器的编辑操作中对它们进行排序 - 我可以在编辑中很好地访问Things,但我想以不同的方式对它们进行排序(而不是通过它们的ID),例如Things.pos

这里最佳做法是什么?我已经尝试过了

public $hasMany = array(
        'Thing' => array(
            'order' => 'Thing.pos DESC'
        )
    );

但是仍然没有改变。有任何想法吗?

2个回答

33

2
如果您在关联表中定义了一些自定义查找方法,您可以在 contain() 中使用它们。对于您的情况,您可以按照以下方式解决:
$query->contain([
        'Comments' => function ($q) {
           return $q->order(['created'=>'DESC']);
        }
    ]);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接