Проход по вложенному объекту в Laravel
Я хочу перебрать вложенный объект в 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
& new_values
объект
Как получить эти значения в цикле
1 ответ
Как я вижу образец вашего объекта old_values
& new_values
один объект не массив объектов, поэтому вы можете сделать это следующим образом:
@foreach($all as $al)
@if(isset($al->new_values))
<li>{{$al->new_values->message}}</li>
@endif
@endforeach
Примечание: если есть вероятность пустого или пустого объекта, вам нужно добавить некоторую проверку перед тем, как получить доступ к любому свойству объекта, иначе это произойдет через исключение.