使用 Laravel 的 `insertGetId` 流畅方法自定义 `id` 名称
custom `id` name using `insertGetId` fluent method of Laravel
根据 Laravel 的文档:Inserts
Note: When using PostgreSQL the insertGetId method expects the auto-incrementing column to be named "id".
那么,在使用 inserGetId
时,是否有针对自定义 id
名称的解决方法?即
$id = DB::table('users')->insertGetId(
['email' => 'john@example.com', 'votes' => 0]
);
可以使用Eloquent方法Model::create()
对插入的对象return,获取对象id,不管他叫什么。
试试这个:
$user = User::create(['email'=>'john@ecample.com','votes'=>0]);
$id = $user->custom_id;
如果您的用户模型如下:
class User extends Eloquent {
//This custom_id column needs to be of type serial in your table
protected $primaryKey = 'custom_id';
protected $fillable = ['email','votes'];
//...more code ...
}
我希望这对你有用
根据 Laravel 的文档:Inserts
Note: When using PostgreSQL the insertGetId method expects the auto-incrementing column to be named "id".
那么,在使用 inserGetId
时,是否有针对自定义 id
名称的解决方法?即
$id = DB::table('users')->insertGetId(
['email' => 'john@example.com', 'votes' => 0]
);
可以使用Eloquent方法Model::create()
对插入的对象return,获取对象id,不管他叫什么。
试试这个:
$user = User::create(['email'=>'john@ecample.com','votes'=>0]);
$id = $user->custom_id;
如果您的用户模型如下:
class User extends Eloquent {
//This custom_id column needs to be of type serial in your table
protected $primaryKey = 'custom_id';
protected $fillable = ['email','votes'];
//...more code ...
}
我希望这对你有用