tags:

views:

209

answers:

1

I have one model that has a $hasMany attribute. If I just have the following:

var $hasMany = 'OtherModel'

and in the class OtherModel extends AppModel I have the following:

var $order = 'colour_id DESC';

The order is ignored, but if I have this in the first model:

    var $hasMany = array(
            'OtherModel' => array(
            'order' => 'colour_id DESC'
        )
    );

Then it uses the correct order.

I'm not sure why the order in the $hasMany model is ignored in the first instance?

+3  A: 

A model's $order property only affects find calls originating in that particular model. I suppose it is a design decision. You've already sussed out the correct method for sorting associated results.

Daniel Wright
+1 I would guess that results found as part of another model aren't contiguous anyway, they're spilt as children across results of the primary model. So how much sense would it make to order them?
deceze