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

Yii2-语法错误或访问冲突:1066非唯一表,yii2,Yii2,我试图在查询中连接两个表: -sc\u-cours- 伊德库尔 火山喷发 伊德马特 -马蒂埃雷斯学院- 伊德马特 nomMat从错误中可以看出,您有两个完全相同的内部联接。在模型中定义关系,而不仅仅是做->innerJoin('nameOfRelation')好的,使用->ScCours::find()->join('mat')我有一个错误缺少yii\db\Query::join()的参数2,但是谢谢你,你让我走上了正确的道路,因为当我尝试使用使用使用时它是有效的,所以我刚刚使用->ScCou

我试图在查询中连接两个表:

-sc\u-cours-
伊德库尔
火山喷发
伊德马特
-马蒂埃雷斯学院-
伊德马特

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

好的,使用
->ScCours::find()->join('mat')
我有一个错误
缺少yii\db\Query::join()
的参数2,但是谢谢你,你让我走上了正确的道路,因为当我尝试使用
使用
使用
时它是有效的,所以我刚刚使用
->ScCours::find()->with('mat')
。现在一切都好了,再次感谢Borisa Eric的宝贵帮助

试试这个-$query=new\yii\db\query()$查询->选择(['a.*','b.*])->from(['a'=>'sc\u cours'])->innerJoin(['b'=>'sc\u matieres'],'a.idMat=b.idMat')->all();我也有同样的错误,但是这次关于别名的语法错误或访问冲突:1066 Table/alias:'b'非唯一正在执行的SQL是:SELECT*FROM
sc_-cours
a
内部连接
sc_-matieres
a.idMat=b.idMat内部连接
sc_-matieres
b
ON a.idMat=b.idMat模型公共函数getMat()中已经存在关系{return$this->hasOne(ScMatieres::className(),['idMat'=>'idMat'];}但是如果我->innerJoin('classe),它会将关系的名称作为一个表。。。找不到基表或视图:1146 La table'coolapp.classe'n'existe pas正在执行的SQL是:从
sc_cours
a
内部联接
classe
为什么
classe
如果您的关系名称是
getMat()
那么您的关系应该是
mat
,它将取自
ScMatieres
中定义的tabel,很抱歉,是我在这里犯了错误(这只是因为我对另一个表
sc_类做了相同的操作,再次抱歉…),但不幸的是,即使我写
mat
,我也会得到相同的错误,告诉我桌垫不存在
不用说对不起,我们是来互相帮助的。它不应该从关系中获取表名,而应该从脚本中获取表名。您能否提供与此问题相关的所有代码。