Yii2-语法错误或访问冲突:1066不是唯一的表



我正在尝试连接查询中的两个表:

- sc_cours -
idCour
volHoraireCour
idMat
- sc_matieres -
idMat
nomMat

查询的代码是以下

$query->select('*')
->from('sc_cours')
->innerJoin('sc_matieres', 'sc_cours.idMat = sc_matieres.idMat');

但是我得到以下错误

SQLSTATE[42000]: Syntax error or access violation: 1066 Table/alias: 'sc_matieres' non unique
The SQL being executed was: SELECT * FROM `sc_cours` INNER JOIN `sc_matieres` ON sc_cours.idMat = sc_matieres.idMat INNER JOIN `sc_matieres` ON sc_cours.idMat = sc_matieres.idMat

伙计们,你们知道主要问题是什么吗?谢谢!

从错误中可以看到,您有两个完全相同的内部联接。定义模型中的关系,而不仅仅是->innerJoin('nameOfRelation');

好的,对于->ScCours::find()->join('mat'),我有这个错误Missing argument 2 for yiidbQuery::join(),但谢谢你,你让我走上了正确的道路,因为当我尝试with时它是有效的,所以我刚刚完成了->ScCours::find()->with('mat')。现在已经成功了,再次感谢Borisa Eric的宝贵帮助!

最新更新