如何连接数据库中的3个表?

时间:2017-11-23 19:22:10

标签: php laravel laravel-5.5

问题是我有3个数据库表

  • 第一个user_id用户表
  • 第二个表是attribute_id和attribute_name
  • 的属性
  • 第三个是具有user_id和attribute_id
  • 的评级表

我想在点击特定用户后使用attribute_id从第二个表获取attribute_name?可能吗?如果回答是,那么请给我一个建议你怎么做?先生,先生谢谢你?

  • 这里我上传的图像是我点击特定用户进行编辑后显示来自用户表的记录和属性表中的attribute_id使用多对多的关系,问题是我们从评级表中获取特定id的attribute_name使用attribute_id ??可能吗?

它的编辑表单和下面的提交按钮从属性表中获取id但我们想要显示来自评级表

的attribute_name

Its Edit form and below submit button get id from attribute table but we want to display attribute_name from rating table

2 个答案:

答案 0 :(得分:0)

用户型号:

public function rating()
{
    return $this->belongsTo(Rating::class);
}

评级模型:

public function attribute()
{
    return $this->hasMany(Attribute::class, 'attribute_id');
}

然后在控制器中调用它:

dd(Users::with('rating.attribute')->where('user_id', 1));

答案 1 :(得分:0)

查询::

$records = DB::table('attributes')->join('ratings','attributes.id','=','ratings.attribute_id')->where('user_id',$id)->get();
return view('employee.edit',compact('records'));

您的编辑页面

@foreach($records as $record)
<h4>Attributes ==>{{$record->attribute}}</h4>
@endforeach