如何在 laravel blade 中回显 json 解码的键名和键值

how to echo key name and key value from json decode in laravel blade

我是 laravel

的新手

我有一个表格。我从用户那里获取数据并将其保存为数据库中的 json 编码字符串。这是我的 laravel 控制器代码。

public function order_requirements(Request $request)
 {   
     // Get the currently authenticated user...
     $user = Auth::user();
     $order_number = request('order_number');
     $orderData = Orders::whereOrder_number($order_number)->first();
     if($orderData['buyer_id'] == $user['id']){
          
        $orderData->order_requirements = json_encode($request->all());
        $orderData->save();
        return json_encode($request->all());
 
     }       

 }

我可以成功将进货订单需求保存到数据库中。它运作良好。一旦我保存到数据库 DB

中的数据看起来像这样
{"_token":"dq2zJU03UjxK1F2tAaXSu8gujUwElv7PkXhLipEY","order_number":"W1622543566X1","logo_name":"dd","logo_slogan":"love chicken","business_description":"chicken","styles":"red color"}

现在我想在这样的订单页面中显示这些详细信息

order_number:W1622543566X1,
logo_name:dd,
logo_slogan:love chicken,

像这样不过我有很多不同的形式,键名各不相同。

所以我的想法是访问键名,然后访问键值。我可以像这样访问 laravel blade 中的值。但我无法获取密钥名称。

 @foreach (json_decode($orderData->order_requirements ,true) as $details)
     {{$details}},    
    @endforeach

在上面的代码中,$orderData是返回的DB arrayorder_requirements字段包含我保存的json encoded数据。

上面的foreach循环,我得到的是这个。

dq2zJU03UjxK1F2tAaXSu8gujUwElv7PkXhLipEN, W1622543566X1, dd, love chicken, chicken, red color,

但我想像这样在每个值之前打印键名

order_number:W1622543566X1,
logo_name:dd,
logo_slogan:love chicken, ...

我该怎么做?我不知道如何继续,请帮助

您需要在 foreach 调用中指定密钥并使用 <br />:

@foreach (json_decode($orderData->order_requirements ,true) as $key => $value)
     {{$key}}:{{$value}},<br />  
@endforeach