在刀片中顯示json類型數據
P粉064448449
P粉064448449 2024-03-22 12:05:15
0
1
318

在刀片中顯示json類型數據 我的資料庫中有一個表,用於存儲數據,其中一個數據是 json 類型,一切都很順利,但是當我想在刀片中顯示這些 json 時,問題就開始了 這是我的 json 資料類型 [![在此輸入影像描述][1]][1]

在我的刀片中,我使用 php 進行查詢,提取並顯示具有相同訂單 id 的所有數據,但我想在執行此操作時顯示 json 數據

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

在我想顯示 json 資料的第二個 foreach 中沒有顯示任何資料

編輯:

在我想顯示json 數據的第二個foreach 中,沒有向我顯示任何數據,我認為這是因為我調用數據錯誤,因為在執行建議的操作時,它沒有向我顯示任何內容

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

全部回覆(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
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!