2009-11-04 13 views
1

J'ai regardé Doctrine et il semble être un bon moyen de gérer les modèles dans mon application PHP OO. Je voudrais créer des modèles qui ont des propriétés optionnelles. Plutôt que d'avoir des valeurs nulles dans ma base de données, je voudrais créer des tables séparées pour certaines (toutes?) De ces propriétés et leur donner une clé étrangère du nœud auquel elles se rapportent. Ensuite, lors de l'interrogation des données, effectuez des jointures externes sur les valeurs facultatives.PHP Doctrine relations et l'héritage

Existe-t-il un moyen d'implémenter quelque chose comme ça dans Doctrine?

Je n'ai pas encore examiné la documentation à fond, mais est-ce qu'un modèle peut effectivement être défini dans plusieurs tables? Les exemples que j'ai vus ne semblaient pas le mentionner.

J'espère que cela a du sens!

Un conseil apprécié.

Merci.

+0

Juste au cas où: meta.stackoverflow.com/questions/686/...;) –

Répondre

1

Doctrine prend en charge les jointures internes et gauches (externes) en tant que partie du langage d'interrogation Doctrine. Vous pouvez également écrire vos propres requêtes personnalisées si vous en avez besoin, mais utilisez toujours les modèles pour les résultats.

Doctrine's join documentation

0

Utiliser la relation un-à-plusieurs avec le tableau des propriétés.

ModelProperty 
~~~~~~~~~~~~~~~~~~~~ 
modelproperty_id 
modelproperty_model_id 
modelproperty_property_name 
modelproperty_property_value 

Est-ce que c'est ce que vous allez réaliser?