如何用户将id插入数据透视表? laravel 5.4

时间:2017-05-08 17:14:07

标签: laravel eloquent pivot-table relationship

我想建立用户角色系统,为此我制作了三个表:用户,角色和role_user数据透视表,用户&角色受以下约束:

public function role()
{
    return $this->belongsToMany(Role::class, 'role_user');
} 

具有belongsToMany关系,并且数据透视表存储用户id&角色id,一切都很好,我能够检索用户角色,但进入数据透视表我从phpmyadmin页面手动插入数据,我的问题是如何将id插入到用户的数据透视表中?

1 个答案:

答案 0 :(得分:0)

:)

我不是100%确定,但您可以在用户模型上使用attach()方法。

示例(请确保在模型中设置$ fillable。)

$user = User::create([
    'name' => 'Me!',
    'email' => 'my@email.com',
]);

$role = Role::create([
    'name' => 'First role',
]);

现在你可以这样做:

$user = User::first();
$user->role()->attach($role);

我希望你明白!祝好运。 :)