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

Ruby on Rails Discussion :

has many et has many as en meme temps


Sujet :

Ruby on Rails

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 9
    Points : 8
    Points
    8
    Par défaut has many et has many as en meme temps
    Je suis face a un mur !

    J'essaie de faire une gestion d'emploi du temps pour des profs...

    j'ai une base teacher_bookings

    Il y a differentes manieres de remplir l'emploi du temps, a la main par le profs, automatiquement en cas de creation de session de cours, a la main par un superviseur

    mon modele teacher_booking possede donc un :
    belongs_to :teacher_booker, :polymorphic => true

    pour savoir qui a place le booking.

    et mes modeles de teacher, dance_session et administrator possede un :
    has_many :teacher_bookings, :as => :teacher_booker

    Le probleme c'est que mes profs doivent aussi avoir un:
    has many :teacher_bookings
    pour savoir quel prof est booke...

    D'ou le conflit....

    Si je demande teacher.teacher_bookings << teacher_booking ca foire un peu...

    Une idee ???

  2. #2
    Membre émérite
    Avatar de bolo
    Inscrit en
    Novembre 2002
    Messages
    1 309
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 309
    Points : 2 695
    Points
    2 695
    Par défaut
    Je n'ai pas tout compris

    Explique moi simplement model par model ca serra plus clair

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 9
    Points : 8
    Points
    8
    Par défaut
    je veux creer des rdv (teacher_bookings) pour des prof (teachers).

    il y a pludsieurs facons de poser des rdv et je veux garder une trace de la facon dont le rdv a ete pose, donc danc le model teacher_booking :
    belongs_to :teacher_booker, :polymorphic => true
    belongs_to :teacher

    et dans chaque model qui peut poser un rdv j'ai :
    has_many :teacher_bookings, :as => :teacher_booker

    le probleme etant qu'un prof a des rdv mais peut aussi poser des rdv
    ce qui donne dans le model teacher :
    has_many :teacher_bookings, :as => :teacher_booker #pour pouvoir poser un rdv
    has_many :teacher_bookings #si le prof a des rdv

    il me faudrait un moyen de pouvoir referer a teacher de maniere differente selon que je veux que ce soit un reserveur ou un reserve....

  4. #4
    Membre émérite
    Avatar de bolo
    Inscrit en
    Novembre 2002
    Messages
    1 309
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 309
    Points : 2 695
    Points
    2 695
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    le probleme etant qu'un prof a des rdv mais peut aussi poser des rdv
    ce qui donne dans le model teacher :
    has_many :teacher_bookings, :as => :teacher_booker #pour pouvoir poser un rdv
    has_many :teacher_bookings #si le prof a des rdv
     
    il me faudrait un moyen de pouvoir referer a teacher de maniere differente selon que je veux que ce soit un reserveur ou un reserve..
    et pourquoi ne pas rajouter de champs, j'ai peut être pas tout compris
    to_teacher_id
    from_teacher_id

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 9
    Points : 8
    Points
    8
    Par défaut
    j'ai deja 3 champs :

    teacher_id #pour identifier le prof qui a un rdv
    booker_id #pour savoir qui a booke le prof
    booker_type #pour savoir a quel model appartient le booker_id

    si je cree un rdv par exemple rdv = TeacherBooking.new
    rdv.time = blabla
    rdv.duration = blablabla
    etc..

    prof = Teacher.find 1
    booker = Teacher.find 2
    booker2 = Admin.find 1

    si je fais booker2.teacher_bookings << rdv
    ca donne rdv.booker_id = 1 et rdv.booker_type = Admin
    si je fais booker.teacher_bookings << rdv
    ca donne rdv.teacher_id = 2

    car activerecord considere surement en premier le has_many :teacher_bookings

  6. #6
    Membre émérite
    Avatar de bolo
    Inscrit en
    Novembre 2002
    Messages
    1 309
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 309
    Points : 2 695
    Points
    2 695
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    has_many :rdv_fait, :class_name => "teacher_bookings" :foreign_key => :booker_id
     
    has_many :rdv_eu, :class_name => "teacher_bookings" :foreign_key => :teacher_id
    moi j'aurais fait comme ca

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 9
    Points : 8
    Points
    8
    Par défaut
    J'ai suivi ton idee et ca marche bien

    has_many :teacher_bookings, :as => :teacher_booker
    has_many :bookings, :foreign_key => :teacher_id, :class_name => 'TeacherBooking'

    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [HQL] Many to one--Many to many
    Par seb759 dans le forum Hibernate
    Réponses: 6
    Dernier message: 20/12/2011, 13h24
  2. [Doctrine] Exemple simple de relation Many:Many et One:Many
    Par llaffont dans le forum ORM
    Réponses: 19
    Dernier message: 07/04/2011, 09h27
  3. Réponses: 8
    Dernier message: 06/07/2004, 14h17
  4. [C#] Presser 2 touches en meme temps
    Par JBernn dans le forum Windows Forms
    Réponses: 3
    Dernier message: 21/05/2004, 18h11
  5. Plusieurs commandes en meme temps
    Par caribou_belle dans le forum Linux
    Réponses: 7
    Dernier message: 18/09/2003, 17h07

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