如何解决Yii2 GridView:SQLSTATE [23000]:违反完整性约束:1052 order子句中的列“ id”不明确
有人可以向我解释为什么我会收到此错误吗?我试图搜索相关信息,但找不到有用的信息。
这是我的功能:
$query = Recipient::find()->from('recipient')
->joinWith(['delivers'])
$dataProvider = new ActiveDataProvider([
'query' => $query,]);
错误是:
SQLSTATE [23000]:违反完整性约束:1052中的列'id' order子句不明确
正在执行的SQL是:
SELECT COUNT(*) FROM `recipient`
LEFT JOIN `deliver` ON `recipient`.`id` = `deliver`.`recipient_id`
ORDER BY `id` DESC
解决方法
尝试
Recipient::find()->from('recipient')->joinWith(['delivers'])->orderBy(['`recipient`.`id`' => SORT_ASC]);
在上面的示例中,显式指定了列名,以避免歧义错误。
代码似乎不完整。发布更多代码,以便我们为您提供帮助。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。