我有两张桌子:
用户
Securityquestion
现在在控制器中我正在采取行动=
public function actionCreate(){
if(isset($_POST['email']))
{
$record=User2::model()->find(array(
'select'=>'userId, securityQuestionId, primaryEmail,password,userId',
'condition'=>'primaryEmail=:email',
'params'=>array(':email'=>$_POST['email']))
);
if($record===null)
{
echo "Email invalid";
}
else
{
echo "email exists";
}
}
}
所以$ record-> securityQuestionId显示id。现在我想显示实际的securityQuestion。在user2模型中,我有关系
securityQuestion'=>array(self::BELONGS_TO, ' Securityquestion', 'securityQuestionId'),
那我怎样才能显示实际的securityQuestion。
答案 0 :(得分:0)
你的桌子有点奇怪: 由于User具有securityQuestionId,我们可以认为User属于SecurityQuestion,但您在SecurityQuestion中也有userId,因此SecurityQuestion也属于User。
对我来说,你应该:
用户强>
id
username
id_question
<强> SecurityQuestion 强>
id
question
在你的模特规则中:
用户强>
'securityQuestions'=>array(self::BELONGS_TO, 'SecurityQuestion', 'id_user'),
<强> SecurityQuestion 强>
'user'=>array(self::HAS_MANY, 'User', 'id_user'),
现在要有相关的SecurityQuestion:
$model = User::model()->find(...);
//display the related question
$model->securityQuestion->question;