私のセットアップが
Teachers (id, name)
Students (id, name, teacher [FK]);
生徒がいる DQL 教師を選択するにはどうすればよいですか? のようなものになると思います
select t FROM Entities\Teachers t WHERE count(t.students) > 0
しかし、私count(t.students) > 0
は間違っていることを知っています...次に何を使用しますか?
アップデート
では、多対多の自己参照関係とは何でしょうか? ここで、ユーザーは教師または生徒、またはその両方になることができます...以下のコード...生徒を持つユーザーを取得するためのDQLは何ですか?
/** @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;