Search code examples
symfony1doctrine

Symfony doctrine determine foreign Alias List is empty


In Symfony 1.4, Doctrine I have this snippet from schema.yml

Attendance:
  columns:
    id: { type: integer(4), primary: true, autoincrement: true }
    user_id: { type: integer(4) }

  relations:
    JoomlaUser: { class: JosUser, local: user_id, foreignAlias: AttendanceList }

and

JosUser:
  tableName: jos_users
  columns:
    id: { type: integer(4), primary: true, autoincrement: true }
  relations:
    AttendanceList: { class: Attendance, local: id, foreign: user_id }

What is the most efficient way to determine from JosUser that there are no Attendance records. I tried model/doctrine/JosUser.class.php

count($this->getAttendanceList())

but this returns a Doctrine Record with all fields empty but user_id


Solution

  • Schema :

    JosUser:
        tableName: jos_users
        columns:
            id: { type: integer(4), primary: true, autoincrement: true }
        relations:
        AttendanceList: { type: many, class: Attendance, local: id, foreign: user_id }
    

    With type: many, getAttendanceList() should return a Doctrine_Collection (see the JosUser base class in lib/model/doctrine/base/BaseJosUser.class.php), then you can use

    $this->getAttendanceList()->count()