Bonjour,
Mon architecture est la suivante : "Course" hasMany "Dates". Chaque cours a plusieurs champs (id, lieu, prix, etc.) et des dates (séances) lui sont liées dans une table différente avec des informations spécifiques.
Exemple :
array(
(int) 0 => array(
'Course' => array(
'id' => '15015',
'created' => '2014-11-26 13:06:26',
'statut' => 'Actif',
'lieu' => 'Lieu',
'prix' => '200',
'places' => '12'
),
'Date' => array(
(int) 0 => array(
'id' => '1351',
'created' => '2014-11-27 10:14:00',
'course_id' => '15015',
'date' => '2015-04-13',
'heure_debut' => '18:00:00',
'heure_fin' => '20:00:00',
),
(int) 1 => array(
'id' => '1352',
'created' => '2014-11-27 10:14:00',
'course_id' => '15015',
'date' => '2015-04-14',
'heure_debut' => '18:00:00',
'heure_fin' => '20:00:00'
)
)
)
J'ai une liste de plusieurs cours et j'aimerais qu'ils soient ordonnés selon les dates (ex. ici j'aimerais qu'un cours ayant les dates '2015-05-13' et '2015-05-14' figure après celui figurant ci-dessus).
Si j'effectue la "requête" suivante, l'ordre ne fonctionne pas (il semble que les dates soient ordonnées au sein du cours directement et pas globalement) :
$courses = $this->Course->find('all', array(
'conditions' => $conditions,
'contain' => array(
'Date' => array(
'conditions' => $date,
'order' => array('Date.date' => 'ASC')
)
)
));
Ma question est donc : Est-ce posible d'ordonner les cours de manière chronologique selon les dates qu'ils contiennent ?
En espérant avoir été clair, merci d'avance pour vos réponses,
kinkaz
NB : j'utilise la pagination de CakePHP donc mon ordre doit à priori fait à la manière du find('all') classique