Я использую Laravel 5.7
& VueJs 2.5.*
...
У меня есть две таблицы TicketInvoice
& TicketInvoiceItems
, с отношением типа TicketInvoice
hasMany TicketInvoiceItems
& TicketInvoiceItems
ownTo TicketInvoice
...
Я могу успешно создать TicketInvoice
& TicketInvoiceItems
, , но я не знаю, как его обновить ...
Вот мой метод store
(Рабочий):
public function store(Request $request)
{
$ticketInvoiceItems = collect();
foreach($request['ticketInvoiceItems'] as $invoiceItem) {
$ticketInvoiceItems->push(new TicketInvoiceItems ([
'passenger_name' => $invoiceItem ['passenger_name'],
'ticket_no' => $invoiceItem ['ticket_no'],
'fares' => $invoiceItem ['fares'],
'sub_total' => $invoiceItem ['sub_total']
]));
}
$ticketInvoice = TicketInvoice::create([
'vendor_id' => $request['vendor_id'],
'ticket_invoice_no' => $request['ticket_invoice_no'],
'ticket_invoice_date' => $request['ticket_invoice_date'],
'ticket_invoice_fares_total' => $request['ticket_invoice_fares_total'],
'ticket_invoice_grand_total' => $request['ticket_invoice_grand_total'],
]);
$ticketInvoice->ticketInvoiceItems()->saveMany($ticketInvoiceItems);
}
Вот мой метод update
(Не работает: '():
public function update(Request $request, $id)
{
$ticketInvoice = TicketInvoice::findOrFail($id);
$ticketInvoiceItems = collect();
foreach($request['ticketInvoiceItems'] as $invoiceItem) {
$ticketInvoiceItems->push(new TicketInvoiceItems ([
'passenger_name' => $invoiceItem ['passenger_name'],
'ticket_no' => $invoiceItem ['ticket_no'],
'fares' => $invoiceItem ['fares'],
'sub_total' => $invoiceItem ['sub_total']
]));
}
$ticketInvoice->update($request->all());
$ticketInvoice->ticketInvoiceItems()->update($ticketInvoiceItems);
}