Afficher les données de type JSON dans la lame
P粉064448449
P粉064448449 2024-03-22 12:05:15
0
1
362

Afficher les données de type json dans la lame J'ai une table dans ma base de données qui stocke les données et l'une des données est de type json et tout se passe bien mais quand je veux afficher ces json dans blade, le problème commence C'est mon type de données json [![Entrez la description de l'image ici][1]][1]

Dans ma lame, j'utilise php pour interroger, extraire et afficher toutes les données avec le même identifiant de commande, mais je souhaite afficher les données json en faisant cela

<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>

Aucune donnée n'est affichée dans le deuxième foreach où je souhaite afficher les données json

Éditeur :

Dans le deuxième foreach où je veux afficher les données json, aucune donnée ne m'est montrée, je pense que c'est parce que j'appelle mal les données, car lorsque j'effectue l'action suggérée, elle ne me montre rien

[{"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

répondre à tous(1)
P粉936509635

Vous devez utiliser 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

Une meilleure option consiste à définir le comportement dans l'attribut $cast du modèle Eloquent.

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
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal