dpnhp20440
2016-07-31 08:21
浏览 286
已采纳

Laravel 5.2从动态表单插入和更新数据

So far, I have found answers in here and never needed to ask anything. But this issue is really bugging me. Here is the situation. I have a dynamic invoice form. Posts from the form will be saved to two different tables

  1. invoices(where details for invoice is stored like member_id, discount, duedate, remarks and the timestamps)
  2. invoiceitems(invoice_id, itemdescription, quantity, rate, timestamps)

To achieve this, here is my method to store invoice

public function store(InvoiceRequest $request)
{

//get necessary details for invoice table
$datainvoice = array(
'member_id' => $request->input('member_id'),
'duedate' => $request->input('duedate'),
'discount' => $request->input('discount'),
'remarks' => $request->input('remarks'),
//'gtotal' => $request->input ('gtotal'),
);

//save result of invoice
$resultforinvoice = Invoice::create($datainvoice);


// ready all data of invoice items
$datainvoiceitem = array(
'description' => $request->input('description'),
'rate' => $request->input('rate'),
'quantity' => $request->input('quantity'),
'invoice_id' => $resultforinvoice->id,
);


 // insert invoice along with invoice_id
Invoiceitem::create($datainvoiceitem);
return redirect('members');

}

Additional Information:

Relationship between members and invoices:: member-has-many-invoices, invoice-belongs-to-single-member

Relationship between invoice and invoiceitems:: invoice-has-many-items, an-item-belongs-to-one-invoice

partial of the dynamic form:

<td>  1   </td>
<td><textarea type="text" name='description[0][description]'   class="form-control"/></textarea> </td>
<td><input type="text" name='quantity[0][quantity]'  class="form-control"/></td>
<td> <input type="text" name='rate[0][rate]'  class="form-control"/>   </td>

Errors im receiving right now Argument 1 passed to Illuminate\Database\Grammar::parameterize() must be of the type array, integer given, called in C:\xampp\htdocs\study\vendor\laravel\framework\src\Illuminate\Database\Query\Grammars\Grammar.php on line 719 and defined

Update

when i try to return the inputs for invoiceitems to check whats going on, i get an array like below

{
"description": [
{
    "description": "desc1"
},
{
    "description": "desc2"
}
],
"rate": [
{
    "rate": "11"
},
{
    "rate": "22"
}
],
"quantity": [
{
    "quantity": "1"
},
{
    "quantity": "2"
}
],
"invoice_id": 41

}

Guys, please tell let me know where im missing. I have tried asking this in laracast as well, its been couple of hours nothing at the moment, hopefully someone will point me to right direction. Here is the laracast link.

2条回答 默认 最新

相关推荐 更多相似问题