我在从控制器解码到视图后传递数组。
AddressController.php
$pro = $request->input('pro');
$pro_array = json_decode($pro, true);
Mail::send('emails.send', ['title' => $title,'pro_array' => $pro_array, 'email' => $email, 'fname' => $fname,
'lname' => $lname, 'addressline' => $addressline, 'Ttl' => $Ttl, 'phone' => $phone], function ($message) use ($email)
{
$message->from($email);
$message->to('info@phalwala.com', 'Phalwala');
$message->subject("Welcome To Phalwala");
});
return redirect('/')
我只想从数组中获取名称,价格和数量,但它正在尝试获取非对象的属性。
send.blade.php
@foreach($pro_array as $cartItem)
<p>Products: {{$cartItem->name}}</p>
<p>Unit Price: {{$cartItems->price}} X {{$cartItems->qty}}</p>
@endforeach
答案 0 :(得分:1)
只需访问密钥,而不是像对象一样尝试访问密钥:
@foreach($pro_array as $cartItem)
<p>Products: {{$cartItem['name']}}</p>
<p>Unit Price: {{$cartItems['price']}} X {{$cartItems['qty']}}</p>
@endforeach
答案 1 :(得分:1)
您正在使用对象表示法non-object
。您的错误表明您正在$pro_array
上执行此操作。 $cartItem['name']
项的类型为数组,因此您需要使用数组表示法{{1}}。
答案 2 :(得分:0)
如果$pro_array
返回数组,请在控制器中使用集合
示例:$pro_array = collection($pro_array);