首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >拉勒维尔与3表的雄辩关系

拉勒维尔与3表的雄辩关系
EN

Stack Overflow用户
提问于 2021-04-06 12:26:22
回答 1查看 54关注 0票数 0

Laravel 3表

table_user

  • id
  • name

table_barang

  • id
  • iduser
  • name
  • statusbarang_id

table_statusbarang

  • id
  • name

我的代码UserModels:

代码语言:javascript
运行
复制
public function BarangModels()
    {
        return $this->hasMany(BarangModels::class, 'iduser');
    }

我的代码BarangModel:

代码语言:javascript
运行
复制
public function UserModels()
{
    return $this->belongsTo(UserModels::class);
}

public function StatusBarangModels()
{
    return $this->hasOne(StatusBarangModels::class, 'idstatusbarang');
}

我的代码StatusBarangModels:

代码语言:javascript
运行
复制
public function BarangModels()
{
    return $this->belongsTo(BarangModels::class);
}

我的代码用户控制器

代码语言:javascript
运行
复制
public function showdetail($id)
{
    $value = UserModels::find($id);
    return view('user/detailuser', compact('value'));
}

并且,我想选择barangmodel (id,name) statusbarangmodel (name)谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-06 13:04:01

首先,您需要在StatusBarangModels中将BarangModel的主键作为外键添加到在模型中定义的关系中。添加键后,使用以下代码。

代码语言:javascript
运行
复制
UserModels::with(['BarangModels'=>function($item){
    $item->with(['StatusBarangModels'=>function($query){
      $query->select('statusbarang_id','name');
      }])->select('id','name');
 }])->get();

您需要在嵌套关系中选择外键,这样才能在表中匹配主键和外键。

这会管用的。谢谢

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66968630

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档