Я пытаюсь обновить элементы в счете-фактуре, и мне нужна и проблема при удалении элемента или добавлении элемента, если я удаляю все элементы, которые он обновляет, мне нужна помощь, пожалуйста, я получаю сообщение об ошибке: «SQLSTATE [42S22]:Столбец не найден: 1054 Неизвестный столбец «продукт» в «списке полей» (SQL: обновление invoice_product
набор id
= 27, invoice_id
= 29, product_id
= 3, unit_price
= 80, qty
= 1, created_at
= 2018-10-08 16:54:53, updated_at
= 2018-10-08 16:54:53, deleted_at
=, product
= 3, где invoice_id
= 29 иid
= 27) "
таблица счетов
- id
- счет _ нет
- дата
- sub_total
- скидка
- всего
таблица товаров
id
item_code
item_desc
unit_price
таблица invoice_items
invoice_id
item_id
unit_price
Кол-во
модель счета
public function items()
{
return $this->hasMany(InvoiceProduct::class, 'invoice_id');
}
обновление моего контроллера
$invoice = Invoice::findOrFail($id);
$items = [];
$itemIds = [];
$subTotal = 0;
foreach($request->items as $item) {
if(isset($item['id'])) {
InvoiceProduct::where('invoice_id', $invoice->id)
->Where('id', $item['id'])
->update($item);
$itemIds[] = $item['id'];
$item ='please re add items';
} else {
$items[] = new InvoiceProduct($item);
}
$subTotal += $item['unit_price'] * $item['qty'];
}
$data = $request->except('items');
$data['sub_total'] = $subTotal;
$data['total'] = $data['sub_total'] - $request->discount;
$invoice->update($data);
InvoiceProduct::whereNotIn('id', $itemIds)
->where('invoice_id', $invoice->id)
->delete();
if(count($items)) {
$invoice->items()->saveMany($items);
}
return response()
->json(['saved' => true, 'id' => $invoice->id]);
}