如何解决加入 Find 和 Foreach 在 Laravel 中检索错误数据
我正在使用连接/查找 Laravel 数据库来检索正确的数据,但它显示了重复 13 次的数据库的最后一个条目。
我希望你能帮助我。 这是代码。
在控制器中
$joinCot = Cotizaciones::findOrFail($id);
$joinCot = DB::table('cotizaciones')->join('prod_cotizaciones','prod_cotizaciones.id_cotizacion','=','cotizaciones.id')
->join('users','users.id','cotizaciones.id_usuario')
->join('clientes','clientes.id','cotizaciones.id_cliente')
->select('cotizaciones.id','cotizaciones.id_usuario','cotizaciones.id_cliente','cotizaciones.equipo','cotizaciones.servicio_venta','cotizaciones.pdf','cotizaciones.fecha','cotizaciones.status','prod_cotizaciones.id as idPC','prod_cotizaciones.partida as partida','users.id as idU','clientes.id as idC','clientes.nombre_cliente')->get();
在刀片中
@foreach ($joinCot as $key => $value)
<div>{{ $joinCot->idPC }}</div>
@endforeach
如果我返回 $joinCot 它会显示
[{"id":40,"id_usuario":1,"id_cliente":1,"equipo":"Pipeta","servicio_venta":"Servicio","pdf":null,"fecha":"2021-05-27","status":"Pendiente","idPC":27,"partida":1,"idU":1,"idC":1,"nombre_cliente":"Instituto Nacional de Enfermedades Respiratorias Ismael Cos\u00edo Villegas"},{"id":40,"idPC":28,"partida":2,"nombre_cliente":"Instituto Nacional de Enfermedades Respiratorias Ismael Cos\u00edo Villegas"}]
我有 2 个条目的 idPC = 27,第二个条目的 idPC = 28。
但是在返回视图时,foreach 只是抛出 28282828282828282828282828。
解决方法
您在内部循环 $joinCot->idPC
上访问错误,它应该是 $value->idPC
。$value
将从数组或对象中返回每一行。
@if(isset($joinCot)&&count((array)$joinCot))
@foreach ($joinCot as $key => $value)
<div>{{$value->idPC }}</div>
@endforeach
@endif
,
$joinCot 是您检索到的数据数组。 foreach() 在每次迭代中返回单行和键。您必须访问行-> 值。 这意味着,
@foreach ($joinCot as $key => $value)
<div>{{$value->idPC }}</div>
@endforeach
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。