Database 如何获取刚刚插入的最新记录的ID?

Database 如何获取刚刚插入的最新记录的ID?,database,forms,laravel,relationship,Database,Forms,Laravel,Relationship,我正在尝试将数据插入到具有关系的两个不同表中。。例如学生和爱好。所以student->hasOne(爱好)和hobby->belongsTo(学生) 我将一次性插入所有这些信息。以一种形式供您在执行类似操作时参考: 现在我的问题是,我如何用与学生相同的id保存爱好? 如果我先保存student,然后保存另一个表单hobby,那么我可以很容易地首先获取student\u id,然后我可以使用用户id保存hobby。您可以提交给一个控制器。更容易的。那就做吧 $student = Student::

我正在尝试将数据插入到具有关系的两个不同表中。。例如
学生
爱好
。所以
student->hasOne(爱好)
hobby->belongsTo(学生)

我将一次性插入所有这些信息。以一种形式供您在执行类似操作时参考:

现在我的问题是,我如何用与学生相同的id保存爱好?
如果我先保存
student
,然后保存另一个表单
hobby
,那么我可以很容易地首先获取
student\u id
,然后我可以使用用户id保存
hobby

您可以提交给一个控制器。更容易的。那就做吧

$student = Student::create([
    'name' => $request->name,
    ...
]);

$hobby = Hobby::create([
    'student_id' => $student->id,
    'schedule' => $request->schedule,
    ...other data
]);

您可以使用关系插入它,而不必关心id

$hobby = auth()->user()->hobby()->create([
    'hobby_column1' => 'bla bla bla',
    'hobby_column2' => 'bla bla bla',
]);
在本例中,我使用了
auth()->user()
,但它可以是
user
类的任何实例

检查以更好地了解如何处理关系


显然,您可以在
$hobby
中获取id,只需在创建后使用
$hobby->id

如何
插入getID()

然后,您可以将te ID用于与其他模型相关的任务:

DB::table('hobbies')->inset(
    ['student_id' => $studentId, 'hobby' => $hobby]
);

你可以在这里找到更多关于查询的信息:

thx的答案。我是通过getstudentid()方法完成的,并在创建学生后传递学生id。

你是在谈论MySQL表还是HTML表,或者其他类型的表?很抱歉,忘了提到它的MySQL表
DB::table('hobbies')->inset(
    ['student_id' => $studentId, 'hobby' => $hobby]
);