Bonjour

Dans une page index.ctp d'un controller showroom j'affiche une liste d'annonces avec pour chacune d'elle une image de présentation.
Mes articles sont stockés dans la table posts et les images dans la table medias
Jusque là pas de soucis.

Mon problème est au moment de les lier ensemble dès l'index.
Car quand je liste mes annonces avec

$d'posts'] = $this->Paginate('Post', array('online' => 1, 'created <= NOW()'));
$this->set($d);

Je ne vois pas comment ajouter l'image correspondant à l'id puisque qu'elle ne se trouve pas dans la même table.
Y a t'il une méthode simple ou faut il faire quelque chose de plus compliqué pour arrivé au résultat voulu?

Merci d'avance pour votre aide

4 réponses


thqloz
Réponse acceptée

Et le public $belongsTo = 'Post', dans ton model Medias ?
J'avais pas vu le paginate, après rien ne t'empêche d'utiliser le Behaviour Containable (marche bien avec paginator).

Salut,

As-tu des liaisons d'effectuer dans ta table? HasOne et BelongsTo?

ramdam
Auteur

J'ai un hasMany dans le model post (car je charge d'autres images dans l'affichage détaillé des annonces)

ramdam
Auteur

J'avais pas pensé à utiliser le behaviour Containable
J'avais fait l'impasse sur le tuto...
Bref c'est ce qu'il me fallait.
Merci