rickgrana
(Ricardo Grana)
November 9, 2009, 8:18pm
1
How can I create a relation to a table that have a composite PK?
I know I can override primaryKey method to declare my composite Pk, but, relation syntax is (for belongs to):
varName => array(self::BELONGS_TO, 'RefTable', 'RefKey')
So, RefKey doesn’t accept an array as a valid value.
Any ideas?
cyberpol
(Cyberpol 777)
November 9, 2009, 8:32pm
2
Did you try:
varName => array(self::BELONGS_TO, ‘’, ‘ON’=>‘RefTable.cloum1 = ThisTable.colum1 AND RefTable.colum2 = ThisTable.colum2’);
?
EDIT: I have not tested this… but is an idea!
rickgrana
(Ricardo Grana)
November 9, 2009, 8:43pm
3
Yes, PoL, this work for most cases, but this will generate an error if ‘ThisTable’ is not the alias of your table (this occurs when you model is being used as an related field by a relation of another model).
But I solved this!
varName => array(self::BELONGS_TO, 'RefTable', 'RefKey, RefKey2,...')
Not array delimited, but comma separated. So easy…
I think this should be added to the guide.