在Laravel中建立关系查询的问题

时间:2019-03-09 16:29:43

标签: php mysql laravel laravel-5

假设我们有3个表,UserReportJob。在用户表中,我们有2列要使用的列,idjob_id,在report表中,我们有user_idjob_id'。

因此,我需要所有具有报表详细信息的用户,这些用户的job_iduser_id与User表匹配。我想通过关系来做到这一点。

我进行了查询。

问题是如何用报表(where user_id,job_id)编写多个where子句。

User:: select(*)->with("report")->paginate(10);

2 个答案:

答案 0 :(得分:0)

尝试

用户模型定义

key

工作模型定义

public function job()
{
    return $this->belongsTo(Job::class);
}

然后使用

public function reports()
{
    return $this->hasMany(Report::class);
}

答案 1 :(得分:0)

也许您可以做到

new ExpandableContainer(

              expandedHeight: 58.0*number,
              .
              .
              .
              )
.
.
.

class ExpandableContainer extends StatelessWidget {
  final bool expanded;
  final double expandedHeight;
  final Widget child;

  ExpandableContainer({
    @required this.child,
    this.expandedHeight,
    this.expanded = true,
  });
.
.
.
}

User::whereHas('report', function ($q) use ($id, $sample) { $q->where('id', $id) ->where('sample', $sample); })->get(); 只是可以传递给闭包的示例变量,而$id可以检查是否存在关系

或类似的东西

whereHas