Search code examples
modelcakephp-3.xcontain

Order 'Contain' Model in CakePHP 3.x


I have multiple Things in AnotherThing now I am trying to order them in my edit action in my AnotherThing Controller - I can access the Things just fine in my edit, but I want to sort them differently (not over their ID), for example Things.pos

Whats the best practice here? I tried it with

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

But nothing changed. Any idea?


Solution

  • Overread the Documentation. Sorry!

    Anyways, If someone looks for an answer, here it is: http://book.cakephp.org/3.0/en/orm/retrieving-data-and-resultsets.html#sorting-contained-associations

    edit:

    When loading HasMany and BelongsToMany associations, you can use the sort option to sort the data in those associations:

    $query->contain([
        'Comments' => [
            'sort' => ['Comment.created' => 'DESC']
        ]
    ]);