mon entrée en configuration estDoctrine DQL: Sélectionnez les entités ayant des enfants/FK relations à la table
Teachers (id, name)
Students (id, name, teacher [FK]);
Comment sélectionner dans DQL les enseignants qui ont des élèves? Je suppose que ce sera quelque chose comme
select t FROM Entities\Teachers t WHERE count(t.students) > 0
mais je sais count(t.students) > 0
est mal ... à quoi sert-je alors?
MISE À JOUR
maintenant ce que vers une relation plusieurs à plusieurs auto-référencement? où un utilisateur peut être un enseignant ou un étudiant ou les deux ... code ci-dessous ... quel est le DQL pour obtenir des utilisateurs qui ont des étudiants?
/** @Entity @Table(name="users")) */
class User {
/**
* @Id @Column(type="integer")
* @GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @Column(type="string", length="30")
*/
private $name;
/**
* @ManyToMany(targetEntity="User", inversedBy="teachers")
* @JoinTable(name="Teachers_Students",
* joinColumns={@JoinColumn(name="teacher", referencedColumnName="id")},
* inverseJoinColumns={@JoinColumn(name="student", referencedColumnName="id")}
* )
*/
private $students;
/**
* @ManyToMany(targetEntity="User", mappedBy="students")
*/
private $teachers;
ok, maintenant ce que je fais une entité de référencement auto. voir ma mise à jour –
J'ai mis à jour mon commentaire. S'il vous plaît laissez-moi savoir clairement ce que vous voulez savoir. – Muhit
hmm ... je ne suis pas familier avec cela (mais est-ce de la doctrine 1.2? Cos j'utilise 2.0). où est le code censé aller? et où puis-je lire les docs ou quoi que ce soit à ce sujet? –