【发布时间】:2017-10-16 16:11:29
【问题描述】:
我有一个系统,其中用户有商店,商店有产品。
现在一个 Shop 可以有多个 Products,一个 Product 可以属于多个 Shop。当用户添加新产品时,他/她可以选择他/她想要添加的商店
商店
+----+---------+----------------+
| id | user_id | name |
+----+---------+----------------+
| 1 | 1 | My First Shop |
| 2 | 1 | My Second Shop |
+----+---------+----------------+
商店_产品
+---------+------------+-----------+
| shop_id | product_id | image |
+---------+------------+-----------+
| 1 | 1 | beer.jpg |
| 1 | 2 | wine.jpg |
| 1 | 3 | vodka.jpg |
+---------+------------+-----------+
我的问题是,当用户编辑产品时,我想使用该产品分配到的当前商店预填充商店选择下拉列表。
但是下面的查询返回一个集合因此是多对多
$product = Product::findOrFail($id)->shops
在我看来,要设置正确的选择选项,我正在尝试以下操作
@foreach(\Auth::user()->shops as $shop)
<option value="{{ $shop->id }}" @if($shop->id == $product->shop->id) selected @endif>{{ $shop->description }}</option>
@endforeach
$product->shop->id 不起作用,因为 $product->shop 是一个集合
期待你的想法!谢谢
【问题讨论】:
标签: php laravel collections