【问题标题】:Laravel get ID of newly created resourceLaravel 获取新创建资源的 ID
【发布时间】:2019-11-20 09:43:00
【问题描述】:

所以基本上我是这样做的:

Laptop::create([
    'user_id' => 1,
    'name' => $request->name,
    'brand' => $request->brand,
    'SN' => $request->SN,
    'price' => $request->price
]);

如何保存新创建资源的 ID?由于 ID 字段是自动递增的,我不需要手动插入它。例如,如果 ID 是 47,我需要能够将 ID 存储在本地以供使用。就像将它存储在一个名为 $ID 的变量中

这样我就可以创建包含笔记本电脑部件信息的元行。他们都需要一个 parent_id,即$ID

【问题讨论】:

  • 这会因为糟糕的措辞而被否决,但我无法解释它很难做人
  • 两个模型之间有建立关系吗? laravel.com/docs/6.x/…
  • 只是告诉你,剩下的问题其实无关紧要,我只需要检索新创建的Laptop 的ID 并将其存储在本地,这样我就不会遇到任何冲突跨度>
  • 如果你设置了关系,你甚至不需要 id,创建笔记本电脑,创建它的预设关系。完成。

标签: php laravel laravel-6


【解决方案1】:

创建将返回Laptop模型的对象。

$laptop = Laptop::create([
 'user_id' => 1,
 'name' => $request->name,
 'brand' => $request->brand,
 'SN' => $request->SN,
 'price' => $request->price
]);

$id = $laptop->id;

  $laptop = Laptop::create([
 'user_id' => 1,
 'name' => $request->name,
 'brand' => $request->brand,
 'SN' => $request->SN,
 'price' => $request->price
])->id;

【讨论】:

    【解决方案2】:
    $id = Laptop::lastInsertId();
    

    $id = Laptop::create([
        'user_id' => 1,
        'name' => $request->name,
        'brand' => $request->brand,
        'SN' => $request->SN,
        'price' => $request->price
    ])->id;
    

    【讨论】:

      【解决方案3】:
      $laptop = Laptop::create([
          'user_id' => 1,
          'name' => $request->name,
          'brand' => $request->brand,
          'SN' => $request->SN,
          'price' => $request->price
      ]);
      
      $id = $laptop->id;
      

      【讨论】:

        【解决方案4】:

        要获取最近添加的 id,您可以按照此代码进行操作

        $laptop = Laptop::create([
            'user_id' => 1,
            'name' => $request->name,
            'brand' => $request->brand,
            'SN' => $request->SN,
            'price' => $request->price
        ]);
        
        $id = $laptop->id;  //You get recently added id
        echo $id;
        

        【讨论】:

        • 如果对你有帮助请选择这个答案
        【解决方案5】:

        create 方法返回保存的模型实例。所以用它链接这个:

        $laptop = Laptop::create([
            'user_id' => 1,
            'name' => $request->name,
            'brand' => $request->brand,
            'SN' => $request->SN,
            'price' => $request->price
        ]);
        
        $id = $laptop->id; 
        

        $id是新增数据的必填项。

        【讨论】:

          猜你喜欢
          • 2020-11-19
          • 1970-01-01
          • 2019-06-19
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-11-11
          • 2011-02-15
          • 2019-11-25
          相关资源
          最近更新 更多