微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

加入 Find 和 Foreach 在 Laravel 中检索错误数据

如何解决加入 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 举报,一经查实,本站将立刻删除。