Как я могу сбросить область по умолчанию в отношениях?
Запрос:
$matches = MatchesStat::model()
->resetScope(true)
->with(array('best_player', 'bad_player'))
->findByAttributes(array(
'match_id' => $this->id,
'mode' => $this->mode
));
Функциональные отношения ():
public function relations()
{
return array(
'best_player'=>array(self::BELONGS_TO, 'Players', '', 'on' => 't.best_pl = best_player.pl_id AND t.mode = best_player.mode', 'scopes' => array( 'resetScope' )),
'bad_player'=>array(self::BELONGS_TO, 'Players', '', 'on' => 't.bad_pl = bad_player.pl_id AND t.mode = bad_player.mode', 'scopes' => array( 'resetScope' ))
);
}
Игроки, defaultScope:
public function defaultScope()
{
return array(
'condition' => $this->getTableAlias(false, false) . '.mode = "main"',
);
}
Как видите, я использую массив scopes => (resetScope) в моих отношениях. Но:
Задача ещё не решена.
Других решений пока нет …