Обновите много множественных данных с таблицами Hasmany и Casesto?
-
21-12-2019 - |
Вопрос
Извините за мой английский
Я хочу две таблицы
<Сильные> Счета
- .
- id id
- user_id
- имя
- создан_at
- update_at
<Сильные> Заданные счеты
- .
- id 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