我收到 JSON 響應(yīng)@foreach($logs as $log) <div class="modal-body"> {{ $log->general }} </div> <div class="modal-body"> {{ $log->response_headers }} </div>@endforeach我的回復(fù)結(jié)構(gòu)不是這樣的,目前可讀General{ "host": "abcd-io.test", "path": "api/v1/companies/hello.com", "request_ip": "127.0.0.1"}response_headers{ "X-Powered-By": [ "Express" ], "Access-Control-Allow-Origin": [ "*" ], "Content-Type": [ "application/json; charset=utf-8" ], "Content-Length": [ "4857" ], "ETag": [ "W/\"12f9-UhKH0rSAm7BiHIeW5pbrH1gphXs\"" ], "Date": [ "Sat, 20 Jun 2020 12:51:28 GMT" ], "Connection": [ "keep-alive" ]}控制器public function index() { $logs = Log::where('user_id',auth()->user()->id) ->orderBy('created_at', 'DESC')->get(); return view('api.logs', compact('logs'));}我希望分別顯示host和abcd-io.test我嘗試使用 {{ $log->general['host'] }}但沒有成功
2 回答

嗶嗶one
TA貢獻(xiàn)1854條經(jīng)驗(yàn) 獲得超8個(gè)贊
假設(shè)“general”是一個(gè)字符串,您可能必須使用 json_decode($json) 將 JSON 字符串轉(zhuǎn)換為數(shù)組,并執(zhí)行如下操作:
//Convert JSON to array $json = json_decode($log->general, true);
檢索主機(jī)
$json['host']

皈依舞
TA貢獻(xiàn)1851條經(jīng)驗(yàn) 獲得超3個(gè)贊
解決方案是對(duì)模型中的列進(jìn)行鑄造。
protected $casts = [
? ? 'general' => 'array'
];
因此在視圖中我可以將其顯示為
@foreach($logs as $log)
? <div class="modal-body">
? ? {{ $log->general['host'] ?? 'No host' }}
? </div>
@endforeach
- 2 回答
- 0 關(guān)注
- 180 瀏覽
添加回答
舉報(bào)
0/150
提交
取消