假设我的设置是
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;