Вот выдержка из схемы, которую я на самом деле имею
Software:
columns:
title:
type: string(255)
id_publisher:
type: integer
id_developper:
type: integer
Company:
columns:
name:
type: string(255)
nationality:
type: string(255)
Как видите, моя модель программного обеспечения имеет две внешние ссылки: издатель и разработчик.Я хотел бы создать отношение один ко многим для каждой из этих двух ссылок.Проблема в том, что они обе компании.
Сначала я попробовал что-то вроде показанного ниже на моей модели программного обеспечения, но отношение работает только для первой локальной ссылки id_publisher.
relations:
Company:
type: one
foreignType: many
local: [id_publisher, id_developper]
foreign: id
Затем я попробовал это (всегда на модели программного обеспечения):
relations:
Publisher:
class: Company
type: one
foreignType: many
local: id_publisher
foreign: id
Developper:
class: Company
type: one
foreignType: many
local: id_developper
foreign: id
Но когда я выполняю запрос, который подсчитывает количество программных ссылок, связанных с компанией ...
public function findAllQuery(Doctrine_Query $q = null) {
$q = Doctrine_Query::create()
->select('c.*, COUNT(s.id) AS count_software')
->from('Company c')
->leftJoin('c.Software s')
->groupBy('c.id');
return $q;
}
... в COUNT учитываются только издателиоговорка.
Итак, наконец, мой вопрос заключается в том, как справиться с множественными отношениями «один ко многим» одной и той же модели?Спасибо за ваше время!