предполагая, что моя установка
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;