php - 需要从 user_items 表 LARAVEL 中获取 ID

标签 php mysql

您好,我有一个名为 user_items 的表,其中包含以下信息:iduser_iditem_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/

相关文章:

php - 由于变量内容中的 ' 导致 SQL 错误

php - 具有两种类型标志的表上的 Laravel 关系

php - PDO - 查询未返回结果 - 输出为空且不确定原因

php - 路由模型绑定(bind)不起作用

php - mysql 和 PHP 中两个日期之间的差异

mysql - 显示参加过多个赛事的运动员姓名的 SQL 查询

php - 如何在任何 Excel 电子表格或替代方案中导出数据库

java - PHP 中等效的 AES 128 位

php - 如何使用 jQuery 在 HTML 中添加换行符

mysql - 删除时外键约束一对多表,更新级联规则