Php 拉维5.4关系
您好,我需要显示用户表名Php 拉维5.4关系,php,laravel,Php,Laravel,您好,我需要显示用户表名项目中的项目 我有三种型号 用户模型: public function userItem() { return $this->hasMany('App\UserItem', 'item_id'); } public function userItem() { return $this->hasMany('App\UserItem', 'user_items', 'user_id', 'item_id'); } UserItem模型: pu
项目中的项目
我有三种型号
用户模型:
public function userItem()
{
return $this->hasMany('App\UserItem', 'item_id');
}
public function userItem()
{
return $this->hasMany('App\UserItem', 'user_items', 'user_id', 'item_id');
}
UserItem模型:
public function user()
{
return $this->belongsTo('App\User', 'user_id');
}
要使此关系成功,需要向项目模型写入什么内容。因此,我可以显示项目表中的项目
如果我现在这样做:
我从数据库中的user\u项
表中获取信息
当我执行此操作时,@foreach(Auth::user()->userItem作为$item)
我得到以下结果:
未找到列:中的1054未知列“用户\u项。用户\u项”
“where子句”
你表现出一种多对多的关系,但却在使用一对多关系的方法。对于多对多关系,请在模型中使用以下代码:
//用户模型:
public function userItem()
{
return $this->hasMany('App\UserItem', 'item_id');
}
public function userItem()
{
return $this->hasMany('App\UserItem', 'user_items', 'user_id', 'item_id');
}
//userItem模型:
public function user()
{
return $this->hasMany('App\User', 'user_items', 'item_id', 'user_id');
}
对于多对多关系,两个模型都需要hasMany方法
有关hasMany方法参数的信息以及关于多对多关系的其他信息,请阅读关于多对多关系的文档:
希望这有帮助。我想你应该使用多对多关系
您有2个模型用户和项目
和3个表:-用户-项目-用户项目
用户模型应如下所示:
public function userItem()
{
return $this->belongsToMany('App\Item','user_items','user_id','item_id');
}
和项目型号:
public function user()
{
return $this->belongsToMany('App\User','user_items','item_id','user_id');
}
您需要一个名为user\u items
您不需要定义userItem模型,您可以删除此模型中的关系
在刀片服务器中,请使用以下代码:
@foreach(Auth::user()->userItem as $item)
所以你有一个用户表,一个项目表,并且想要创建一个类似于库存的东西,对吗?是的。我在我的user\u items
表中得到了user\u id
和item\u id
,问题是如何从收集这些信息的user\u items
表中显示items
,user\u id
和item\u id
?你说:我有3个模型。但是您编写的2个模型有问题,第三个模型是什么?嘿,当我这样做时,@foreach(Auth::user()->userItem as$item)
我得到这个:列未找到:1054未知列“user\u items.user\u items”在“where子句”中。