IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

Relation model cakePHP


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2007
    Messages : 14
    Points : 7
    Points
    7
    Par défaut Relation model cakePHP
    Bonjour,

    Je débute avec le framework cakePHP et je ne parviens pas à implémenter une relation entre 2 Models...J'ai essayé plusieurs association avec ou sans attributs, mais toujours sans succès et sans erreurs....je vous montre un exemple simple :

    J'ai 2 tables : "events" et "event_sessions" au format InnoDb :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    EVENTS
    id -> PK
    name -> Varchar
     
    EVENT_SESSIONS
    id -> pk
    name -> Varchar
    event_id -> FK events.d
    Associée à la table "events" j'ai un model EventModel.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <?php
    class Event extends AppModel {
     
        public $name = 'Event';
        public $hasMany = 'EventSession';
    }
    ?>
    Associée à la table "event_sessions" j'ai un model EventSessionModel.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <?php
    class EventSession extends AppModel {
     
        public $name = 'EventSession';
        public $belongsTo = 'Event'; //testé aussi avec $hasOne
     
    }
    ?>
    Comme vous pouvez le remarquer, le but étant d'avoir un Event qui contiendrait une liste d'EventSession. Pour vérifier cela, dans le EventsController je fais un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    debug($this->Event->find('all'));
    Il m'affiche bien tous les Event mais sans les EventSession...et la requête me montre bien qu'il ne fait aucune association :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT `Event`.`id`, `Event`.`name` FROM `events` AS `Event` WHERE 1 = 1
    J'ai passé une bonne journée à tester tous les exemples du net mais sans succès....Où est mon erreur ?

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2007
    Messages : 14
    Points : 7
    Points
    7
    Par défaut Resolved
    Voici une réponse pour ceux qui cherche :

    Depuis Cake 2.x, le nom de la classe = nom de fichier. Donc :
    EventModel.php => Event.php
    EventSessionModel.php => EventSession.php

    http://book.cakephp.org/2.0/en/getting- … tions.html

Discussions similaires

  1. [Livre] Temporal data and the relational model
    Par djibril dans le forum Livres
    Réponses: 0
    Dernier message: 26/05/2015, 20h32
  2. Réponses: 0
    Dernier message: 26/05/2015, 20h32
  3. Relation Model --> Database
    Par JeanMiBiBi dans le forum Ruby
    Réponses: 1
    Dernier message: 20/04/2013, 16h23
  4. Réponses: 0
    Dernier message: 20/04/2010, 09h33
  5. [Toad Data Modeler] Type de relations
    Par nunurs83 dans le forum Autres
    Réponses: 1
    Dernier message: 04/05/2007, 14h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo