Laravel 获取新创建资源的ID

Laravel get ID of newly created resource

基本上我是这样做的:

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

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

$id = $laptop->id;

要获取最近添加的 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;

create方法returns保存的模型实例。所以使用它 link 这个:

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

$id = $laptop->id; 

$id为新增数据必填id。

创建 return 模型的 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;
$id = Laptop::lastInsertId();

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