CakePHP - paginar y ordenar asociación de 2do nivel
Entiendo que me han preguntado 100.000 veces, pero he leído las 100.000 respuestas y ninguna de ellas parece coincidir con lo que busco. He intentado todas las combinaciones posibles (obviamente no) y me temo que me están venciendo en algo tan simple. Este es mi segundo proyecto de Cake, así que de ninguna manera soy un experto.
Perfil ->Pertenece a -> Tienda, Tienda ->Pertenece a -> Región, Región ->Tiene muchos -> Tiendas
Perfil.php
class Profile extends AppModel {
public $belongsTo = array(
'Store' => array(
'className' => 'Store',
'foreignKey' => 'store_id'....
Almacenar.php
class Store extends AppModel {
public $belongsTo = array(
'Region' => array(
'className' => 'Region',
'foreignKey' => 'region_id'....
Región.php
class Region extends AppModel {
public $hasMany = array(
'Store' => array(
'className' => 'Store',
'foreignKey' => 'region_id'....
Controlador de perfil.php
$this->Paginator->settings = array(
'conditions' => array('Profile.job_title_id' => '1'),
'contain' => array(
'Store'=> array(
'Region'
)
)
);
$UserArds = $this->Paginator->paginate('Profile');
$this->set(compact('UserArds'));
ver.php
<th><?php echo $this->Paginator->sort('Region.name', 'Region'); ?></th>
Todo lo que quiero hacer es poder ordenar por nombre de Región cuando se usa el paginador. No importa la combinación que use, parece que no puedo clasificar Region.name. losorder By
La cláusula se omite con todas las otras asociaciones de 2 niveles de profundidad, pero funciona bien en cualquier otro momento (con el mismo nivel o 1er nivel).
¿Alguien puede sugerir una solución para este simple error?