I have a PairModel
pair_id | first_item_id | second_item_id |
And Item model
item_id | some_common_item_fields
Relations of pair looks like that:
public function relations()
{
return array(
'relatedFirstItem' => array(self::BELONGS_TO, 'Cash', 'debit_cash_id'),
'relatedSecondItem' => array(self::BELONGS_TO, 'Cash', 'credit_cash_id'),
);
}
But how to set relation from Item to ites pair?
public function relations()
{
return array(
'relatedPair' => array(self::HAS_ONE, 'PairModel', '???'),
);
}
Getter is not solution (because I need to use relatedPair in scopes etc)
I think relation should look like this:
public function relations()
{
return array(
'relatedPair' => array(self::HAS_ONE, 'PairModel', '', 'on'=>'(first_item_id=:itemPkAlias or second_item_id=:itemPkAlias)'),
);
}
But it looks like itemPkAlias is given dinamically and I can't set or get it in advance.