如何使用eloquent在数据库中插入最后一个id

时间:2018-03-10 18:11:34

标签: php mysql laravel eloquent

嗨,大家好我试图获取我桌子的最后一个ID,我希望这知道我的下一个计数器是什么,并向用户显示,我已经尝试了{ {1}}方法,但我得到了这个:

last()

还有其他方法可以知道吗?

7 个答案:

答案 0 :(得分:2)

在Laravel中获取最后插入ID的5种方法:

使用insertGetId()方法:

$id = DB::table('users')->insertGetId(
[ 'name' => 'first' ]
);

使用lastInsertId()方法:

DB::table('users')->insert([
  'name' => 'TestName'
]);
$id = DB::getPdo()->lastInsertId();

核心SQL查询:

$id = DB::select('SELECT id FROM five_point_zero ORDER BY id DESC LIMIT 1');

使用create()方法:

$data = User::create(['name'=>'first']);
dd$data->id);

使用save()方法:

$data = new User;
$data->name = 'Test';
$data->save();
dd($data->id);

答案 1 :(得分:0)

>>> $data = DB::select('SELECT id FROM transferencia ORDER BY id DESC LIMIT 1');

NVM

答案 2 :(得分:0)

您可以使用LAST_INSERT_ID()功能。试试这个:

SELECT LAST_INSERT_ID() INTO yourTableName;

答案 3 :(得分:0)

当我说对了你的时候,你想知道下次插入时会有哪个id。 如果表中有 AUTO_INCREMENT 主键,则可以使用查询获取该键的下一个值:

SELECT AUTO_INCREMENT
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = DATABASE()
AND TABLE_NAME = "TABLE_NAME"

但不建议在插入前向用户显示其ID,因为它可以从其他用户的会话中更改。

答案 4 :(得分:0)

保存后,$ data-> id应该是最后插入的。

cd <path>/PH_Dorms
mv ph_dorms/* .
rmdir ph_dorms
git add --a
git commit -m '<message>'
git push

答案 5 :(得分:0)

这可能是最佳答案:

$trans = Transferencia::orderBy('id', 'desc')->take(1)->first();

并使用$trans->id

答案 6 :(得分:0)

您可以使用以下代码:

$data['password']= md5($request->password);
    
   $customer_id= DB::table('customer')
            ->insertGetId($data);
    echo $customer_id;