Doctrine DQL: Select entities having children/relations to FK table -


assuming setup

teachers (id, name) students (id, name, teacher [fk]); 

how select in dql teachers have students? guess like

select t entities\teachers t count(t.students) > 0  

but know count(t.students) > 0 wrong ... use then?

update

now abt many many self referencing relationship? user can teacher or student or both ... code below ... whats dql getting users have students?

/** @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; 

you can use join in case.

select t entities\teachers t  innerjoin entities\students s on t.id = s.teacher 

if can set base follows can handle case easily. far experience know doctrine can handle many many relation within best way.

$this->hasmany('user students', array(          'local'     => 'id',          'foreign'   => 'student_id',          'refclass'  => 'usertostudents',          'ondelete'  => 'cascade'));  $this->hasmany('user teachers', array(          'local'     => 'id',          'foreign'   => 'teacher_id',          'refclass'  => 'usertoteachers',          'ondelete'  => 'cascade'));  

thanks


Comments

Popular posts from this blog

c++ - How do I get a multi line tooltip in MFC -

asp.net - In javascript how to find the height and width -

c# - DataTable to EnumerableRowCollection -