Tu n'es pas forcé de gérer ca dans le model, a moins que tu ai vraiment
besoin d'optimisation.
Sinon une simple condition dans ton findall est suffisante.
Ben wrote:
> J'ai une liste de spectacles. Chaque spectacle a plusieurs
> représentations. Pour chaque spectacle, on a plusieurs catégories de
> sièges. Certaines catégories seront utilisées certains soirs, d'autres
> non.
>
> Spectacles (id int auto_increment, titre varchar(20), description
> text)
> Categories (id int auto_increment, spectacle_id int, nom varchar(20),
> prix money)
> Representations (id int auto_increment, spectacle_id int, dateheure
> datetime)
> Categories_Representations (categorie_id int, representation_id int)
>
> Donc, voici mes modules:
>
> class Spectacle extends AppModel {
> var $name = 'Spectacle';
> var $hasMany = array('Representation','Categorie');
> var $displayField = 'titre';
> }
>
> class Representation extends AppModel {
> var $name = 'Representation';
> var $belongsTo = array('Spectacle');
> var $displayField = 'dateheure';
> }
>
> class Categorie extends AppModel {
> var $name = 'Categorie';
> var $belongsTo = array('Spectacle');
> var $displayField = 'nom';
> var $hasAndBelongsToMany =
> array('Representation' =>
> array('className' => 'Representation',
> 'joinTable' => 'representations_categories',
> 'foreignKey' => 'categorie_id',
> 'associationForeignKey'=> 'representation_id',
> 'conditions' => '' ,
> 'order' => '',
> 'limit' => '',
> 'unique' => true,
> 'finderQuery' => '',
> 'deleteQuery' => '',
> )
> );
> }
>
> Comment faire pour empêcher de lier les catégories et les
> représentations de spectacles différents? Je crois qu'il faut utiliser
> le paramètre "conditions" dans le $hasAndBelongsToMany. Mais je ne
> sais pas comment faire.
>
> Quelqu'un a une idée?
>
>
> >
>
>
--~--~---------~--~----~------------~-------~--~----~
Groupe "Cakephp-fr".
Adresse : [email protected]
Pour résilier : [EMAIL PROTECTED]
Pour les options : http://groups.google.com/group/cakephp-fr?hl=fr
-~----------~----~----~----~------~----~------~--~---