根据错误提示,问题在于你的 SQL 查询语句中存在重复的表或别名,这可能是因为你在查询中没有为每个表或别名指定唯一的名称。

而根据你提供的代码,问题应该出在了 hasWhere 方法的使用上。hasWhere 方法用于检查关联模型是否符合指定条件,如果符合则返回当前模型实例,否则返回 null。该方法的第一个参数应该是关联模型的名称,而不是表名。因此,你需要将 question 替换为关联模型的名称,例如:

$m = $m->hasWhere('questions', ['merchant_id' => $merchant_id]);

其中 questions 应该是你定义关联模型时指定的名称。如果你没有指定名称,则默认为关联模型类名的小写形式。

我用thinkphp的thinkorm执行下边语句报错提示:thinkdbexceptionPDOException SQLSTATE42000 Syntax error or access violation 1066 Not unique tablealias question in homechenfadev_projphp_kefu_projquestion_allquestion_pro

原文地址: https://www.cveoy.top/t/topic/gexN 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录