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'的访问被拒绝,但连接数据正常并且配置缓存被清除