$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è)務處理。