JSON-Typdaten im Blade anzeigen
P粉064448449
P粉064448449 2024-03-22 12:05:15
0
1
364

JSON-Typdaten im Blade anzeigen Ich habe eine Tabelle in meiner Datenbank, die Daten speichert, und eine der Daten ist vom Typ JSON und alles läuft gut, aber wenn ich diese JSON im Blade anzeigen möchte, beginnt das Problem Dies ist mein JSON-Datentyp [![Bildbeschreibung hier eingeben][1]][1]

In meinem Blade verwende ich PHP, um alle Daten mit derselben Bestell-ID abzufragen, zu extrahieren und anzuzeigen, aber ich möchte dabei die JSON-Daten anzeigen

<div class="modal-body">
    <?php
    $order[] = $ord_com->id;
    $tareasco = DB::table('tareas')->whereIn('orden_compra_id',$order)->orderBy('created_at','desc')->get();
    ?> 
    @foreach($tareasco as $audi)
        {{ $audi->componente_id }}<!--here it shows me everything ok-->
        @if (is_array($audi->componente_id) || is_object($audi->componente_id))
            @foreach ($audi->componente_id as $documen)
                <h1>{{$documen['partidas_id']}}</h1>
            @endforeach
        @endif
    @endforeach
</div>

Im zweiten foreach werden keine Daten angezeigt, wo ich die JSON-Daten anzeigen möchte

Herausgeber:

Im zweiten foreach, in dem ich die JSON-Daten anzeigen möchte, werden mir keine Daten angezeigt. Ich denke, das liegt daran, dass ich die Daten falsch nenne, denn wenn ich die vorgeschlagene Aktion ausführe, werden mir nichts angezeigt

[{"id": 9913, "cantidad": "12", "costoini": "12", "partidas_id": "1", "servicios_id": "1077", "componente_id": "1", "sub_componente_id": "1", "sub_sub_componentes_id": "1"}] [{"id": 2548, "cantidad": "2", "costoini": "123", "partidas_id": "1", "servicios_id": "1077", "componente_id": "1", "sub_componente_id": "1", "sub_sub_componentes_id": "1"}, {"id": 7555, "cantidad": "4", "costoini": "124", "partidas_id": "2", "servicios_id": "1078", "componente_id": "1", "sub_componente_id": "1", "sub_sub_componentes_id": "1"}]

P粉064448449
P粉064448449

Antworte allen(1)
P粉936509635

您需要使用 json_decode 将该 json 数组转换为数组数组 (json_decode($json, true)) 或对象数组 (json_decode($json))

@php($tareasco = DB::table('tareas')->whereIn('orden_compra_id',$order)->orderBy('created_at','desc')->get())
@foreach($tareasco as $audi)
    @php($componente_id = json_decode($audi->componente_id))
    @if (is_array($audi->componente_id))
        @foreach ($audi->componente_id as $documen)
            

{{ $documen->partidas_id }}

@endforeach @endif @endforeach
@php($tareasco = DB::table('tareas')->whereIn('orden_compra_id',$order)->orderBy('created_at','desc')->get())
@foreach($tareasco as $audi)
    @php($componente_id = json_decode($audi->componente_id, true))
    @if (is_array($audi->componente_id))
        @foreach ($audi->componente_id as $documen)
            

{{ $documen['partidas_id'] }}

@endforeach @endif @endforeach

更好的选择是在 Eloquent 模型的 $cast 属性中定义该行为。

class Tarea extends Model
{
    protected $casts = [
        'componente_id' => 'array'
    ];
}
$tareasco = Tarea::whereIn(...)->orderBy(...)->get();
@foreach($tareasco as $audi)
    @if (is_array($audi->componente_id))
        @foreach($audi->componente_id as $documen)
            {{ $documen['partidas_id'] }}
        @endforeach
    @endif
@endforeach
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage