I searched quite some for this, but I don't even know what to call it.
In a simplified version, I have these Models:
Person(id, name) - hasMany:ArrivalDateCountry(id, name) - hasMany:PersonArrivalDate(id, arrival_date, salesman_id) - belongsTo:Person,Salesman(className =>Person)
As you can see, I'm trying to have the people with arrival dates and the salesmen in ONE TABLE.
Upon retrieving the data I use the containable behavior to get only the models I want.
$person = $this->Person->find('first', array(
'conditions' => array('Person.id' => $id),
'contain' => array(
'Country',
'ArrivalDate'
)
));
But the question is: How do I "contain" the Salesman in this?
Salesman is just an alias for the Person and if I contain the Person model I just get the parent data. If I try to contain the alias (Salesman) I get an error.