【问题标题】:Add the inserted id to the pivot table将插入的 id 添加到数据透视表
【发布时间】:2021-01-29 02:01:09
【问题描述】:

我有一个usersitemsuser_item 表。创建用户时,我需要使用user_iditem_id 填充user_item 表。

到目前为止,我有一个基本的注册功能

public function register(Request $request) {
    $user = User::create([
        'name' => $request->name,
        'user_type' => $request->user_type,
        'email' => $request->email,
        'password' => bcrypt($request->password)
      ]);
      $token = auth()->login($user);

      return $this->respondWithToken($token);
} 

到目前为止,它只保存到users 表中。 我查看了一些关于使用attach() 的文档,但是,我被困在了这个..

register函数中,我添加了一个$item数组:

$item = Item::create([
    'user_id' => !!!!, -> How do I get the id of the inserted user
    'instrument_id' => $request->instrument_id
]);

$user->role()->attach($item)

另外,role() 是什么?是laravel自带的功能吗?

请注意,由于遇到这些问题,我没有尝试运行此功能。所以我不知道它是否会起作用。

有人帮我解决这个问题吗?我是 laravel 新手,对文档感到非常困惑。

【问题讨论】:

    标签: laravel eloquent eloquent-relationship


    【解决方案1】:

    方法create在从db加载它的属性后返回它自己的模型, 所以当你想要用户ID时,只需在create()方法之后使用$user->id

    对于 laravel 附带的默认权限,它是 spatie/laravel-permission

    并将角色分配给您可以使用的用户:

    $user->assignRole('writer');  // just set role name
    

    【讨论】:

      猜你喜欢
      • 2014-07-11
      • 1970-01-01
      • 2015-04-01
      • 1970-01-01
      • 2019-06-12
      • 2016-01-23
      • 1970-01-01
      • 2021-11-15
      • 2023-02-08
      相关资源
      最近更新 更多