$id = DB::table('users')->insertGetId([
    'name' => 'John Doe',
    'email' => 'john@example.com'
]);

在這個例子中,我們使用 DB::table('users')->insertGetId() 方法將一條新記錄添加到 users 數(shù)據(jù)表中,并將新添加記錄的 ID 賦值給變量 $id。

1. 使用 create() 方法

除了使用 insertGetId() 方法,我們還可以使用 Eloquent 模型的 create() 方法來添加新記錄并獲取新添加記錄的 ID。 create() 方法接受一個數(shù)組作為參數(shù),數(shù)組的鍵為數(shù)據(jù)表的字段名,值為要添加的數(shù)據(jù)。該方法會返回新創(chuàng)建的模型實例,我們可以通過該實例的 id 屬性來獲取新添加記錄的 ID。下面是一個示例:

$user = User::create([
    'name' => 'John Doe',
    'email' => 'john@example.com'
]);

$id = $user->id;

2. 使用 save() 方法

除了使用 create() 方法,我們還可以使用 Eloquent 模型的 save() 方法來添加新記錄并獲取新添加記錄的 ID。首先,我們需要創(chuàng)建一個新的模型實例,設(shè)置好屬性值,然后調(diào)用 save() 方法保存模型。保存成功后,我們可以通過模型實例的 id 屬性來獲取新添加記錄的 ID。下面是一個示例:

$user = new User();
$user->name = 'John Doe';
$user->email = 'john@example.com';
$user->save();

$id = $user->id;

3. 使用 lastInsertId() 方法

除了使用 insertGetId() 方法,我們還可以在添加新記錄后使用 DB::lastInsertId() 方法來獲取新添加記錄的 ID。該方法會返回最后一次添加操作的記錄 ID。下面是一個示例:

DB::table('users')->insert([
    'name' => 'John Doe',
    'email' => 'john@example.com'
]);

$id = DB::lastInsertId();

4. 使用 getKey() 方法

對于使用 Eloquent 模型的情況,我們還可以使用 getKey() 方法來獲取新添加記錄的 ID。該方法會返回模型實例的主鍵值。下面是一個示例:

$user = User::create([
    'name' => 'John Doe',
    'email' => 'john@example.com'
]);

$id = $user->getKey();

5. 使用 getPrimaryKey() 方法

與 getKey() 方法類似,我們還可以使用 getPrimaryKey() 方法來獲取新添加記錄的 ID。該方法會返回模型實例的主鍵字段名。下面是一個示例:

$user = User::create([
    'name' => 'John Doe',
    'email' => 'john@example.com'
]);

$id = $user->{$user->getPrimaryKey()};

6. 使用 getAttribute() 方法

最后,我們還可以使用 getAttribute() 方法來獲取新添加記錄的 ID。該方法接受一個字段名作為參數(shù),返回該字段的值。對于主鍵字段,我們可以直接使用主鍵字段名作為參數(shù)來獲取新添加記錄的 ID。下面是一個示例:

$user = User::create([
    'name' => 'John Doe',
    'email' => 'john@example.com'
]);

$id = $user->getAttribute($user->getKeyName());

綜上所述,Laravel 框架為我們提供了多種方法來獲取新添加記錄的 ID,我們可以根據(jù)具體情況選擇合適的方法。無論使用哪種方法,最終目的都是獲取新添加記錄的 ID,以便后續(xù)的業(yè)務處理。