Here is an extract of the schema I actually have
Software:
columns:
title:
type: string(255)
id_publisher:
type: integer
id_developper:
type: integer
Company:
columns:
name:
type: string(255)
nationality:
type: string(255)
As you can see, my Software model has two external references: publisher and developper. My whish would like to create a one to many relation for each of these two references. Problem is they are both companies.
I first tried something like shown below on my Software model, but the relation works only for the first local reference id_publisher.
relations:
Company:
type: one
foreignType: many
local: [id_publisher, id_developper]
foreign: id
Then I tried that (always on the Software Model):
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
But when I execute a query which count the number of soft linked to a company...
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;
}
...only publishers are take into account in the COUNT clause.
So finally, my question is, how to deal with multiple one-to-many relations of a same model ?? Thanks for your time !