Ouverture de session

Commentaires récents

Syndication
Flux XML

auto-relation d'objets et activeRecord

auto-relation d'objets et activeRecord
Posté par acropole le Mercredi, 19 Décembre, 2007 - 8:54pm. Développement

Bonjour

Dans mon application j'ai un modele :objet qui peut en conetnir plusieurs et être contenu par plusieurs autres.

En Merise c'est une relation objet->objet avec 0,n des deux cotés.

Mais dans rails ça semble problèmatique.

D'abord, la table relationnelle devrais s'appeller objets_objets. Difficile de savoir quel est le premier par ordre alphabétique :D

En suite, cette table devrait avoir deux clefs objet_id...
J'ai décidé de changer les nom pour :contenant et :contenu

mais voilà qu'avec has_many, belongs_to et has_and_belongs_to_many ça devient impossible de faire la jointure automatique. Through n'est reconnu que par has_many :(
quand a has_many_and_belongs_to, comment je peut faire pour pas mélanger les deux clefs étrangères ?

merci



[ Vous devez vous connecter ou vous enregistrer pour écrire des commentaires | sujet précédent | sujet suivant | envoyer par email ]

Options d'affichage des commentaires
Sélectionnez la méthode d'affichage des commentaires que vous préférez, puis cliquez sur "Sauvegarder" pour activer vos changements.

Sujet: 
Salut !
Auteur: 
slainer68
Date: 
Jeu, 20/12/2007 - 12:04

Salut !

A moins que j'ai mal compris, ton problème c'est en gros l'exemple de l'objet modèle Personne et de l'objet modèle EstAmi.
La table "est_amis" peut contenir "utilisateur_id" et "ami_id" :
class EstAmi < AR
belongs_to :utilisateur
belongs_to :ami, :class_name => "Utilisateur"
end

class Personne < AR
has_many :est_amis
has_many :amis, :through => :est_amis, :source => :ami
end

avec ça il devrait etre possible de faire : personne.amis et récupérer un Array d'objets Personne.

Nicolas Blanco (aka slainer68)

---
Mon profil WorkingWithRails.com
--


[ Vous devez vous connecter ou vous enregistrer pour écrire des commentaires | envoyer par email ]

Nouveaux liens

Sondage
Lorsque je développe avec Ruby on Rails c'est principalement sous:
Linux
37%
Mac OS X
29%
Windows
32%
(Free|Open|Net) BSD
1%
Autre...
1%
Nombre de votes: 356

Qui est en ligne
Il y a actuellement 1 utilisateur et 44 invités en ligne.

railsfrance.org - communauté francophone des utilisateurs de Ruby on Rails
[ Hébergement et ressources techniques gracieusement fournis par la SSLL Nuxos Group ]