2017-02-16 256 views
1

我試圖插入數據到2個不同的表格與關係..例如studenthobby。所以student->hasOne(hobby)hobby->belongsTo(student)如何獲取剛剛插入的最新記錄的ID?

我插入所有這些信息一次去... ..在一個形式爲您參考做這樣的事情:one form submision to 2 controllers in laravel

現在我的問題是如何將學生的愛好保存爲同一個ID? 如果我先保存student然後再保存hobby然後我可以很容易得到student_id然後我可以保存hobby與用戶ID。

+0

你是在談論MySQL表或HTML表或其他類型的表? – virhonestum

+0

對不起忘了提及..其中mysql表 – Mikethetechy

回答

1

insertGetId()

$studentId = DB::table('students')->insertGetId(
    ['name' => 'John'] 
); 

然後你可以使用TE ID爲,涉及到其他型號任務:

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

你可以找到更多有關查詢的位置:https://laravel.com/docs/5.4/queries

1

您可以提交給一個控制器。更輕鬆。然後做

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

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

你可以使用關係插入它,而不必關心id。

$hobby = auth()->user()->hobby()->create([ 
    'hobby_column1' => 'bla bla bla', 
    'hobby_column2' => 'bla bla bla', 
]); 

在我使用auth()->user()的例子,但它可以User類的任何實例。

檢查Laravel Docs以更好地瞭解您可以對關係做些什麼。

+0

我真的不明白downvote。 – phaberest

0

THX的答案傢伙..我沒它通過getstudentid()方法並在創建學生之後傳遞學生ID ...。

相關問題