Bisher habe ich hier Antworten gefunden und musste nie etwas fragen. Aber dieses Problem nervt mich wirklich. Hier ist die Situation. Ich habe ein dynamisches Rechnungsformular. Beiträge aus dem Formular wird an zwei verschiedenen TabellenLaravel 5.2 Einfügen und Aktualisieren von Daten aus dynamischem Formular
- Rechnungen
- InvoiceItems (invoice_id, ItemDescription, Menge, Preis, (wo Details für Rechnung wie member_id, Rabatt, duedate, Anmerkungen und die Zeitstempel gespeichert wird) gespeichert werden Zeitstempel)
um dies zu erreichen, hier ist meine Methode zu speichern Rechnung
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');
}
Weitere Informationen :
Beziehung zwischen den Mitgliedern und Rechnungen :: Mitglied-has-many-Rechnungen, Rechnungs gehört-zu-Single-Mitglied
Beziehung zwischen Rechnung und InvoiceItems :: Rechnung-has-many-Artikel, ein-Punkt-gehört-zu-eins-Rechnung
Teil der dynamischen 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>
Fehler im, jetzt Argument 1 bestanden Empfang \ Database \ Grammatik Illuminate :: parametrieren() müssen von der Typ Array, in Teger gegeben, in C genannt: \ xampp \ htdocs \ Studie \ Anbieter \ Laravel \ Framework \ src \ Illuminate \ Database \ query \ Grammatiken \ Grammar.php auf der Leitung 719 und definiert
aktualisieren
wenn ich versuche, die Eingänge zurück für InvoiceItems, was los ist zu prüfen, erhalte ich ein Array wie unten
{
"description": [
{
"description": "desc1"
},
{
"description": "desc2"
}
],
"rate": [
{
"rate": "11"
},
{
"rate": "22"
}
],
"quantity": [
{
"quantity": "1"
},
{
"quantity": "2"
}
],
"invoice_id": 41
}
Jungs, bitte sagen lassen Sie mich wissen, wo im fehlt. Ich habe versucht, dies auch in Laracast zu fragen, es ist im Moment einige Stunden nichts gewesen, hoffentlich wird mir jemand die richtige Richtung zeigen. Here is the laracast link.
Nach Ihren Eingaben Namen '$ Anfrage-> Eingabe ('Beschreibung')' gibt ein Array statt eines einzelnen Wertes. Und danach versuchen Sie, dieses Array als Spaltenwert zu speichern. Ich bin mir nicht sicher, aber ich denke das ist dein Problem. – Phargelm
@Phargelm Ich versuche, dies mit Hilfe von transpose() zu sortieren, ich werde dies aktualisiert haben, sobald ich einen funktionierenden Code habe – ashish
@Phargelm im Anschluss an ein Tutorial [link] (https://adamwathan.me/2016/04/06/ cleaning-up-form-input-with-transpose /) Nun, ich bekomme das Array richtig, aber ich möchte zusätzliche Informationen hinzufügen, sagen Rechnung_id im Array. Würdest du mich in die richtige Richtung weisen? Ich aktualisiere meine Sachen hier, [link] (https://laracasts.com/discuss/channels/eloquent/inserting-and-updating-data-from-dynamic-form-properly) – ashish