我试图从artist控制器执行一个查询,它的表与where子句中的另一个表(metier)没有直接关系。
如图所示,我有一个名为Artisans
的表,它连接到Rel-artisan_metiers
,最后一个连接到Metier
,问题是我试图通过连接表来显示artisant
表中的数据,而且metier.libelle ="Plombier"
在哪里!
在执行查询时,会得到:
“where子句”中的列“metier.libelle”未知
有人能帮忙吗?
我的动作功能在Artisant控制器中
public function actionHoome()
{
$plom = "Plombier";
$rows = (new \yii\db\Query())
->select('art.CIN')
->from('artisant as art', 'metier as met', 'rel_artisan_metiers as rel_met')
->where(['metier.libelle' => $plom, 'metier.id_metier' => 'rel_met.id_metier'
, 'art.CIN' => 'rel_met.Artisant_CIN'])
->all();
echo json_encode($rows);
}
1条答案
按热度按时间vxf3dgd41#
将表指定为数组时,还可以使用数组键作为表别名(如果表不需要别名,则不要使用字符串键)。
请尝试: