テーブルのHasmanyとBentStoで複数のデータを更新しますか?
-
21-12-2019 - |
質問
私の英語の申し訳ありません
2つのテーブルが欲しい
請求書
- id
- user_id
- 名前
- created_at
- update_at
請求書免除免疫
- id
- invoice_id
- タイトル
- createAd_at
- update_at
モデル
class Invoices extends eloquent{
public function invoicesitems(){
return $this->hasMany('Invoicesitem');
}
}
class Invoicesitems extends eloquent{
public function invoices(){
return $this->belongsTo('Invoice');
}
}
.
今、私の請求書の項目を更新するために? 例マイ請求書には5つの項目があり、10項目に更新が必要です
最初に私の請求書のすべての項目を削除し、新しい???
$invoices = Invoices::findOrFail($id);
$dataupdate = array(
'user_id' => Input::get('user'),
'name' => Input::get('name'),
);
$invoices->fill($dataupdate);
$invoices->save();
.
// OK更新請求書、今すぐアイテムを更新する方法 ありがとうございました。
解決
ビジネスロジックが許可する場合 - 請求項目を交換することができます。
$invoice = Invoices::findOrFail($id);
$dataupdate = array(
'user_id' => Input::get('user'),
'name' => Input::get('name'),
);
$invoice->update($dataupdate);
// replace invoice items
$invoice->invoicesitems()->delete();
$invoice->invoicesitems()->create($invoiceItems);
.
注意!これは非常にまったく解決策です。バッチインサート用のinsert()
の代わりにcreate()
メソッドを使用することで改善できます。
所属していません StackOverflow