您好,我有一个名为 user_items
的表,其中包含以下信息:id
、user_id
、item_id
目前我可以像这样从 items
表中获取用户项目:
public function userItem()
{
return $this->belongsToMany('App\Item','user_items','user_id','item_id');
}
在我的 HTML 中我这样做:
@foreach(Auth::user()->userItem as $item)
但现在我想从 user_items
表中获取 id
列,但我遇到了问题。
如果我这样做
用户
模型
public function sellItem()
{
return $this->hasMany('App\UserItem');
}
在 HTML 中是这样的:
@foreach(Auth::user()->sellItem as $itemId)
<a href="/sell-item/{{$itemId->id}}" class="btn-sm btn-danger" style="text-decoration: none">Sell for {{$item->price/2}} <img src="/img/gold.png"></a><br>
@endforeach
它复制我的 HTML 的次数与属于用户的 user_items
中的项目一样多。所以问题是如何避免重复并只获取 Auth::user()->sellItem ID
并将其放入 url ?
这是完整的 HTML
@foreach(Auth::user()->userItem as $item)
<img src="{{$item->img}}">
<span class="popuptext" id="myPopup">
{{$item->title}}<br>
@foreach(Auth::user()->sellItem as $itemId) // THIS DUPLICATES THE BUTTON
<a href="/sell-item/{{$itemId->id}}" class="btn-sm btn-danger" style="text-decoration: none">Sell for {{$item->price/2}} <img src="/img/gold.png"></a><br>
@endforeach
<p>{{$item->description}}</p>
</span>
@endforeach
最佳答案
这是一个多对多的关系。
User 有很多 Items,Items 又属于很多 User,所以 userItem 表充当了 2 个表之间的桥梁。
为了在 laravel 中做到这一点,你应该在 userItem.php 中这样做
userItem.php:
public function item()
{
return $this->belongsTo('App\Item');
}
public function User()
{
return $this->belongsTo('App\User');
}
关于php - 需要从 user_items 表 LARAVEL 中获取 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45252463/