Bonjour!
J'ai créé deux classes, une s'appelant Etage et la deuxième Piece. J'ai lié les deux par une relation belongsTo (en effet une Piece se trouve dans un Etage).

J'aimerais, dans la vue admin_index.ctp, pouvoir les lister en les regroupant par étage (soit en faisant un paginate, soit un find('all').

Le résultat affiché doit être du genre :
RDC

  • salon
  • cuisine

Etage

  • chambre 1
  • chambre 2

Comment faire pour obtenir ce résultat?

Merci d'avance pour vos réponses.

4 réponses


A adapter dans ton code bien entendu

$this->Piece->find('all', array(
    // Tes conditions de recherches
    'group' => 'Piece.Etage',
));

Je pense qu'il peut même faire juste ça ^^ :

$this->Etage->find('all');
Maenhyr
Auteur

Quand j'utilise l'option group, CakePHP ne me renvoit qu'une entrée par étage.

@Snap : Où devrais je mettre ce code?

Je précise que je suis dans la vue admin_index.ctp du controller RoomsController.

dans la fonction admin_index du RoomsController

function admin_index()
{
    //pour tester : 
    debug($this->Room->Etage->find('all'));
    exit();
}