Yii2 如何在where子句中比较两个表的列值

Yii2 如何在where子句中比较两个表的列值,yii2,Yii2,下面是我尝试使用的场景 game_studentanswer --> studentanswerid (primary) --> questionid --> answerid (this is the answer selected by user) game_question --> questionid game_officialanswer --> officalanswerid (primary) --> questionid --> an

下面是我尝试使用的场景

game_studentanswer
--> studentanswerid (primary)
--> questionid
--> answerid (this is the answer selected by user)

game_question
--> questionid

game_officialanswer
--> officalanswerid (primary)
--> questionid
--> answerid (this is the answerid for correct answer)
我正在尝试在Yii2中创建此查询:

SELECT COUNT(*) FROM `game_studentanswer` LEFT JOIN `game_question` ON `game_studentanswer`.`questionid` = `game_question`.`questionid` LEFT JOIN `game_officialanswer` ON `game_question`.`questionid` = `game_officialanswer`.`questionid` WHERE (`userid`='1') AND (`game_studentanswer`.`answerid` <> `game_officialanswer`.`answerid`)
我的问题是代码中的“AndWhere()”部分,它没有比较两列,而是假设'question.gameOfficialanswers.answerid'为字符串值,因此Yi2执行的查询如下

SELECT COUNT(*) FROM `game_studentanswer` LEFT JOIN `game_question` ON `game_studentanswer`.`questionid` = `game_question`.`questionid` LEFT JOIN `game_officialanswer` ON `game_question`.`questionid` = `game_officialanswer`.`questionid` WHERE (`userid`='1') AND (`game_studentanswer`.`answerid` = 'game_officialanswer.answerid') 

如果您有任何帮助,我们将不胜感激。

能够通过在表和列名周围使用“引号”找到解决方法

$query = MyGameStudentanswer::find()->joinWith('question.gameOfficialanswers')//->onCondition(['answerid' => 'question.gameOfficialanswers.answerid'])
->where(['userid'=>$userid])->andWhere('`game_studentanswer`.`answerid` = `game_officialanswer`.`answerid`');//->onCondition('questionid=game_officalanswer.questionid');

能够通过在表和列名周围使用`引号'找到解决方法

$query = MyGameStudentanswer::find()->joinWith('question.gameOfficialanswers')//->onCondition(['answerid' => 'question.gameOfficialanswers.answerid'])
->where(['userid'=>$userid])->andWhere('`game_studentanswer`.`answerid` = `game_officialanswer`.`answerid`');//->onCondition('questionid=game_officalanswer.questionid');

我很高兴你能在我检查之前解决这个问题!:)我很高兴你能在我检查之前解决这个问题!:)