【发布时间】:2021-02-25 13:43:42
【问题描述】:
我正在尝试从存款中获取所有项目系列,但存款 ID 位于相关表上。在此功能上,我将列出请求的两个序列之间的所有系列
public function getSeries($params = [])
{
$data = collect($params);
$inicio = $data->only('serie_in');
$fim = $data->only('serie_fi');
$depOrigem = $data->only('id_origem');
$series = [];
for($i = $inicio; $i <= $fim; ++$i)
{
$item = Item::leftJoin('produtoItem', 'produtoItem.id', '=', 'item.id_produtoItem')->where('serie', $i)->where('produtoItem.id_deposito', $depOrigem)->first();
if(empty($item))
{
$status = 'I';
}
else
{
$status = $item->status;
}
$series[] = [
'serie' => $i,
'status' => $status
];
}
$result = [
'status' => true,
'data' => $series
];
return $result;
}
这是错误信息,我想这一定是 sintax 错误,但真的不知道是什么?你能帮帮我吗?
Illuminate\Database\QueryException: SQLSTATE[HY000]: 一般错误: 2031 (SQL: select * from
itemleft joinprodutoItemonprodutoItem.id=item.id_produtoItemwhere @ 987654328@ = ? 限制 1) 在文件 /usr/share/nginx/html/controleestoque/vendor/laravel/framework/src/Illuminate/Database/Connection.php 第 671 行
【问题讨论】:
-
提示:从错误中获取文字 sql(select * from
itemleft joinprodutoItemonprodutoItem.id=item.id_produtoItemwhereserie= ? 限制 1) 将问号替换为实际值,并在 db 工具中运行。这将阐明发生了什么问题。一旦你明白了什么是错误的,你就可以解决它。