在Eloquent Model Laravel中定义关系

时间:2017-07-31 11:30:24

标签: laravel eloquent

我有这个查询

SELECT * FROM users AS u INNER JOIN branches AS b ON u.branch_id = b.branch_id

这意味着每个人user都会关联branch,但只有一个branch可以与多个user关联。

任何人都可以帮我定义这种关系吗?

我做了这个

我在用户模型中写了这个关系

public function branch()
{
    return $this->belongsTo('App\Branch');
}

它返回null。

2 个答案:

答案 0 :(得分:1)

你应该试试这个:

public function branch()
{
    return $this->belongsTo('App\Branch','branch_id');
}

希望这对你有用!!!

答案 1 :(得分:1)

你的问题似乎与一对多关系相反,即多对一。

在这种情况下,在您的情况下,许多用户属于一个分支。因此,您可以在User模型中将多对一关系定义为:

public function branch()
{
    return $this->belongsTo('App\Branch','branch_id');
}

现在,您可以访问此类用户的分支:

$user = User::find($id);

$branch = $user->branch;

希望你明白。