【发布时间】:2019-05-07 21:08:32
【问题描述】:
我在将数组从控制器传递到 Laravel 中查看时遇到问题。我做了一些研究,但没有一个主题有帮助。我的表格是商店、商品、商品价格。 Shops 包含商店 id,我从 url application/id 获取它以供使用。在商品价格中,我得到了诸如 shop_id 、 item_id (这两个是 FK)、价格之类的信息。此表显示哪些商品在哪些商店中。在项目中,我有关于项目的信息:id、图片。当我转到 application/1 时,我希望网站显示此特定商店中的商品信息。
我的控制器方法:
public function getItems($id)
{
$items=ItemPrice::where('shop_id', $id)->select('item_id')->get()->toArray();
foreach($items as $item)
$products[] = array(Item::where('id',$item)->get()->toArray());
$shops=Shop::all();
return view('shop')->with(compact(['products','shops']));
}
当我使用 dd($products); 调试数组时我明白了:
array:4 [▼
0 => array:1 [▼
0 => array:1 [▼
0 => array:5 [▼
"id" => 1
"name" => "Item1"
"price" => 0.8
"type" => 2
"img_dir" => "svg/d.jpg"
]
]
]
1 => array:1 [▼
0 => array:1 [▼
0 => array:5 [▼
"id" => 2
"name" => "Item2"
"price" => 1.1
"type" => 2
"img_dir" => "svg/d2.jpg"
]
]
]
2 => array:1 [▼
0 => array:1 [▼
0 => array:5 [▼
"id" => 3
"name" => "Item3"
"price" => 3.1
"type" => 5
"img_dir" => "svg/p1.jpg"
]
]
]
3 => array:1 [▼
0 => array:1 [▼
0 => array:5 [▼
"id" => 4
"name" => "Item4"
"price" => 1.56
"type" => 5
"img_dir" => "svg/p2.jpg"
]
]
]
]
鉴于我做 foreach @foreach($products as $product) 并且我得到错误:
试图获取非对象的属性“img_dir”。
任何帮助将不胜感激。
【问题讨论】: