Doctrine Inheritance: получить количество строк дочерних таблиц со столбцом родительской таблицы в предложении WHERE

Я работаю над системой с несколькими подписчиками (user_id), имеющими несколько клиентов и поставщиков (наследующих класс «Person»). Мне нужно отобразить количество клиентов и поставщиков (сумма групп для дочерних таблиц) для каждого подписчика. Как я могу получить эти групповые итоги с помощью DQL?

Person:
  columns:
    user_id: { type: integer }
    name:    { type: string(80) }
    //...

Customer:
  inheritance:
    type:     concrete
    extends:  Person
  columns:
    //...

Vendor:
  inheritance:
    type:     concrete
    extends:  Person
  columns:
    vendor_type:    { type: string(80), notnull: true }
    terms_id:       { type: integer }
    //...

person qais    schedule 08.04.2011    source источник


Ответы (1)


Глядя на свой вопрос, я понял, насколько это было глупо. Запрос очень простой:

    $result =  Doctrine_Query::create()
        ->select('type, COUNT(*) AS count')
        ->from('Person')
        ->groupBy('type')
        ->fetchArray();
person qais    schedule 29.02.2012