我想循环遍历Laravel中的嵌套对象并获取刀片文件的值。
示例对象:
[
{
"id": 43,
"user_id": 2,
"event": "updated",
"auditable_id": 34,
"auditable_type": "App\\Bill",
"old_values": {
"message": "test messgare",
"napprover": "24",
"status": "Added"
},
"new_values": {
"message": "Second Audit",
"napprover": "10001",
"status": "Bill Processing"
},
"url": "http://localhost:8000/admin/bills/34",
"ip_address": "127.0.0.1",
"user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3186.0 Safari/537.36",
"created_at": "2017-08-16 18:44:12"
},
{
"id": 41,
"user_id": 2,
"event": "created",
"auditable_id": 34,
"auditable_type": "App\\Bill",
"old_values": [],
"new_values": {
"bill_no": "2017081527",
"bill_type": "BILL",
"bill_date": "08/15/2017",
"vendor_id": "2563582",
"priority": "Moderate Priority",
"amount": "125245",
"message": "test messgare",
"initiator": "10001",
"napprover": "10003",
"tat": "1",
"status": "Added",
"department": "6",
"created_at": "2017-08-15 11:57:45"
},
"url": "http://localhost:8000/admin/bills",
"ip_address": "127.0.0.1",
"user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3185.0 Safari/537.36",
"created_at": "2017-08-15 11:57:45"
}
]
控制器:
public function show($id)
{
$bill = Bill::findOrFail($id);
$vendor = $bill->vendor_id;
$user = User::where('vendor_id', $vendor)->get();
$all = $bill->audits()->get();
return view('admin.BillDetail', compact('bill','user','all'));
}
刀片文件:
@foreach($all as $al)
@foreach($all as $a)
<li>{{$a}}</li>
@endforeach
@endforeach
我想访问old_values
&amp; new_values
对象
如何在循环中获取这些值
答案 0 :(得分:1)
我看到您的对象示例old_values
&amp; new_values
是单个对象而不是对象数组,因此您可以按照以下方式执行此操作:
@foreach($all as $al)
@if(isset($al->new_values))
<li>{{$al->new_values->message}}</li>
@endif
@endforeach
注意:如果有可能是null或空对象,那么你需要在访问对象的任何属性之前添加一些检查,否则它将通过异常。