5
我有一個實體集,其中有很多項目。所以,在更新集合時,表單也會包含更新其項目的字段。我已經做到了,它運行良好,但我不確定它是否是正確和最有效/最優雅的方式。這裏是我的代碼:Laravel Eloquent - 保存/更新相關的一對多關係數據
$set->fill(Input::all());
foreach (Input::get('course') as $course_id => $content) {
$item = $set->items->filter(function ($item) use ($course_id) {
return ($item->course_id == $course_id);
})->first();
$item->content = $content;
$set->items()->save($item);
}
$set->save();
正如你所看到的,對於每一個項目,我經歷了所有的輸入(可在其上多少有變化)循環,過濾它,並通過1所以保存的值1每次迭代都會執行查詢。我使用過濾器,因此它不必爲每個檢查執行查詢。
所以我的問題是,有沒有更高效/優雅的方式來做到這一點?像saveMany()可能嗎?
是的,我看到了,我猜你並不需要一個特定的收藏傳遞給saveMany()的對象。我們可以像你一樣使用簡單的數組。經過測試和驗證,它的工作。謝謝。 – 2015-02-12 06:27:05