【发布时间】:2018-09-18 16:02:41
【问题描述】:
我的所有项目都有一个长期存在的问题,我需要帮助来了解如何使它工作。
在我看来 =
URL = mysite.com/product/40 所以这里的产品 ID 是 40
在视图中,我正在执行一个 foreach 循环来显示所有拥有此产品的商家。我们有很多商家有很多产品,所以这是多对多的关系。
现在在我的控制器上
$product = Product::find($id); // to find the product
$users = $product->users; // here the user is the merchant that have the product
$store = Store::where('user_id', $user->id)->value('social');
这里我得到错误:
试图获取非对象的属性
所以我确实想访问控制器中每个商家的商店,我该怎么做?因为现在$user 是一个集合。
【问题讨论】:
-
你转储变量 $user
-
$product = Product::where('id',$id)->get()
-
如果
product只有 1 个user,则更改关系以获取用户实例而不是集合 -
转储变量 $user 返回 null ,甚至 $product->users 返回 null .. 奇怪,因为当我在视图中发布 @foreach ($package->users as $merchant) 时,它返回我所有的用户
-
您的关系设置正确吗?如果一个产品有很多用户,它应该是
$product->users,你可以使用foreach循环。