我要检索一个与他相关的模型。 例如,我有一个桌面游戏和另一个赌注。 bet有一个带有game_id的列
目前,我只检索游戏模型,而不是相关的赌注。我尝试过左连接而没有成功 这就是我做的事情
$criteria=new CDbCriteria;
$criteria->select = '*';
$criteria->alias = 'Game';
$criteria->join='INNER JOIN bet ON Game.id=bet.game_id';
//$criteria->condition='bet.user_id='.$_userId.' or user_id is null';
$criteria->order = 'date_game ASC';
return $this->model()->findAll($criteria);
感谢您的帮助
答案 0 :(得分:1)
我在游戏控制器中修改关系
'bet' => array(self::HAS_MANY, 'Bet', 'game_id'),
现在,我可以通过用户进行相关投注。
return $this->model()->with(array('bet'=>array('condition'=>'user_id='.$_userId.' or user_id is null')))->findAll($criteria);
答案 1 :(得分:0)
模型仅返回属性上的模型。如果要扩展相关表,则需要使用和
您模型中的
public function relations()
{
return array(
'benmodel'=>array(self::HAS_MANY, 'Ben', 'game_id'=>'id');
);
}
控制器中的
return $this->model()->with('benmodel')->findAll(); //you get both table columns