在我的控制器中我有:
public function showMainPage()
{
$categories = Category::with('subcategories.products.prices', 'subcategories.products.image')->get();
$data = array(
"categories" => $categories,
);
return view('index')->with($data);
}
当我在我的视图中引用这个时:
@foreach($subcategory->products as $product)
<img src="{{ $product->image->thumbnail }}" alt="">
我收到Trying to get property of non-object
错误。
这是我的关系:
Product.php
public function image()
{
return $this->belongsTo('App\ProductImage');
}
这是我的ProductImage关系:
public function product()
{
return $this->belongsTo('App\Product');
}
那里有什么问题?
答案 0 :(得分:0)
根据你的问题,你加入了两张关系表。从categories
表中获取数据时,它将返回categories
和product
个数据。
根据您给定的链接:http://pastebin.com/U3FAtcsK,您的$data
变量包含此类型的层次结构。
category
subcategories
products
prices
image
您正在尝试显示image
数组的数据。
你必须像这样获取image
数据。
$categories->subcategories->product->image->thumbnail
了解您的数组层次结构。你没有错。 :)