建模 User 和 Rank 模型之间的关系
Modelling the relationship between User and Rank models
我正在使用 Laravel & Eloquent。
我有两个table。
用户
id, username, password, rankId
排名
id, rankName
这两者之间是什么关系?而且,我如何使用 Laravel Eloquent 模型显示这两个模型之间的关系?任何帮助将不胜感激。
我想到了 hasOne,但是,它要求第二个 table(等级)有 users
table 的外键。我将如何在 Laravel 中定义这种关系?
如果你在用户模型上,那将属于关系,比如
public function rank()
{
return return $this->belongsTo('App\Rank', 'rankId', 'id');
}
现在如果你从用户模型查询,你可以得到这样的排名信息,
$user = User::find(1);
var_dump($user->rank->rankName);
现在如果你使用排名模型并且你想让所有用户都处于特定排名,那么你的关系将有很多,就像这样
public function users()
{
return $this->hasMany('App\User', 'rankId', 'id');
}
现在查询排名,可以通过这种方式获取用户
$ranks = Rank::find(1);
foreach($ranks->users as $user){
var_dump($user->username);
}
现在可能一切都清楚了
我正在使用 Laravel & Eloquent。
我有两个table。
用户
id, username, password, rankId
排名
id, rankName
这两者之间是什么关系?而且,我如何使用 Laravel Eloquent 模型显示这两个模型之间的关系?任何帮助将不胜感激。
我想到了 hasOne,但是,它要求第二个 table(等级)有 users
table 的外键。我将如何在 Laravel 中定义这种关系?
如果你在用户模型上,那将属于关系,比如
public function rank()
{
return return $this->belongsTo('App\Rank', 'rankId', 'id');
}
现在如果你从用户模型查询,你可以得到这样的排名信息,
$user = User::find(1);
var_dump($user->rank->rankName);
现在如果你使用排名模型并且你想让所有用户都处于特定排名,那么你的关系将有很多,就像这样
public function users()
{
return $this->hasMany('App\User', 'rankId', 'id');
}
现在查询排名,可以通过这种方式获取用户
$ranks = Rank::find(1);
foreach($ranks->users as $user){
var_dump($user->username);
}
现在可能一切都清楚了