Laravel:数据表的 SQLSTATE [23000] 错误

Posted

技术标签:

【中文标题】Laravel:数据表的 SQLSTATE [23000] 错误【英文标题】:Laravel: SQLSTATE[23000] error with dataTables 【发布时间】:2019-03-01 17:35:51 【问题描述】:

为什么会出现这个错误?我有正确的关系,并且在修补程序中,效果非常好,你们对此有任何想法吗?

修补匠:

控制器:

$emp = Empresa::find($request->empresa_id);
$mov = $emp->movimientos()->where('linea_id', intval($request->id_caso))->with('producto_nombre', 'costo_promedio');
return DataTables::of($mov)->make(true);

错误:

表结构:

感谢您的帮助。

【问题讨论】:

由于您的查询中有多个表,您必须在条件中指定表名movimiento.linea_id 【参考方案1】:

ambiguous 存在多个同名列且未指定其表时发生错误

由于您的查询中有多个表并且具有相同名称的列,因此您必须在条件中指定表名

$emp = Empresa::find($request->empresa_id);
$mov = $emp->movimientos()->where('movimiento.linea_id', intval($request->id_caso))->with('producto_nombre', 'costo_promedio');
return DataTables::of($mov)->make(true);

【讨论】:

现在可以了,一件简单的事情怎么能让你浪费这么多时间……非常感谢

以上是关于Laravel:数据表的 SQLSTATE [23000] 错误的主要内容,如果未能解决你的问题,请参考以下文章

Laravel:数据表的 SQLSTATE [23000] 错误

Laravel 删除数据 - SQLSTATE [42S22]:找不到列:1054 未知列

Laravel / MySQL 错误:SQLSTATE[HY000]:一般错误:1835 格式错误的通信数据包

MySQL + Laravel:SQLSTATE [HY000] [1045] 用户'so'@'localhost'的访问被拒绝,但连接数据正常并且配置缓存被清除

Laravel:SQLSTATE [HY000] [2002] 连接被拒绝

laravel 8 播种,SQLSTATE[23000]:违反完整性约束: