建模用户和排名模型之间的关系

时间:2016-03-29 06:57:52

标签: php mysql laravel laravel-5.2

我正在使用Laravel&口才。

我有两张桌子。

用户

id, username, password, rankId

等级

id, rankName

这两者之间的关系是什么?而且,我怎样才能使用Laravel Eloquent模型显示这两个模型之间的关系?任何帮助都将受到高度赞赏。

我想到了hasOne,但是,它需要第二个表(rank)拥有users表的外键。我将如何在Laravel中定义这种关系?

1 个答案:

答案 0 :(得分:1)

如果您使用的是用户模型,则属于关系,例如

public function rank()
{
  return return $this->belongsTo('App\Rank', 'rankId', 'id');
}

现在,如果您从用户模型查询,您可以获得这样的排名信息,

$user = User::find(1);
var_dump($user->rank->rankName);

现在,如果您使用的是Rank模型,并希望让所有用户都达到特定级别,那么您的关系会有很多,就像这样

public function users()
{
    return $this->hasMany('App\User', 'rankId', 'id');
}

现在,如果您查询排名,您可以通过这种方式获得用户

$ranks = Rank::find(1);
foreach($ranks->users as $user){
var_dump($user->username);
}

现在可能一切都很清楚了