在大规模分配后得到一个id

时间:2014-09-20 16:27:37

标签: laravel

好的,我们可以创建一个新用户:

$user = new User;
$user->name = 'Megauser'
$user->save();

然后我们可以添加一些用户项目:

$item = new Item;
$item->user_id = $user->id; //id we got from a freshly created user
$item->quantity = '9000';
$item->save();

但是,如果我们批量分配用户呢?

User::create([
    'name' => 'Megauser'
)];

3 个答案:

答案 0 :(得分:2)

create方法将返回带有ID的新对象。

$user = User::create([
    'name' => 'Megauser'
)];

$userId = $user->id

或者正如Rob Gordijn在下面指出的那样,如果您担心密钥名称,可以使用getKey()电话。

$userId = $user->getKey();

如果有人在其Eloquent模型中覆盖列名,则必须执行此操作。例如:

class Example extends Eloquent {
    $primaryKey = 'uid';
}

答案 1 :(得分:1)

$user = User::create([
    'name' => 'Megauser'
)];

答案 2 :(得分:0)

我会去

<?php
$User = User::create([
    'name' => 'Huzzah'
)];
$UserKey = $User->getKey();

确保在有人决定更改列名时仍能正常工作;)