问题描述
我正在使用连接/查找 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