gpt4 book ai didi

Laravel 在插入新记录时将数据添加到数据透视表

转载 作者:行者123 更新时间:2023-12-02 20:10:40 25 4
gpt4 key购买 nike

我有三张 table ,

roles(id, name);
users(id, email, password);
user_role(id, user_id, role_id);

在这种情况下,我将用户表与具有多对多关系的角色表相关联。

我有两个 Eloquent 模型作为

Role
+users(){
belongsToMany('User')
}

User
+roles(){
belongsToMany('Role')
}

现在,问题是当我想要添加新用户以及我想要分配给用户的角色 ID 时。如何使用 Laravel 最佳实践将值插入数据透视表?

我现有的代码是:-

$roles = Input::get('roles'); // arrays of role ids

$user = new User();
$user->username = Input::get('username');
$user->password = Hash::make(Input::get('password'));
$user->save();

下一步做什么???

最佳答案

真的都是described in the documentation .

无论如何,您可以这样做:

$user = new User();
$user->username = Input::get('username');
$user->password = Hash::make(Input::get('password'));
$user->save();
$user->roles()->attach($roles);

重要的是,您必须在附加(使用 attach() )角色之前保存用户,否则用户还没有可在数据透视表中使用的 ID。

关于Laravel 在插入新记录时将数据添加到数据透视表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28274492/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com