我收到 JSON 響應@foreach($logs as $log) <div class="modal-body"> {{ $log->general }} </div> <div class="modal-body"> {{ $log->response_headers }} </div>@endforeach我的回復結構不是這樣的,目前可讀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貢獻1854條經驗 獲得超8個贊
假設“general”是一個字符串,您可能必須使用 json_decode($json) 將 JSON 字符串轉換為數組,并執行如下操作:
//Convert JSON to array $json = json_decode($log->general, true);
檢索主機
$json['host']

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