это var_dump ($ _ POST):Laravel 4 отправки формы с множественным входом
array(18) { ["_token"]=> string(40) "Qg0krYddkI2cnPQBy5T3yGJdQqRBbb9q173MXzoa" ["from_name"]=> string(2) "4r" ["from_address"]=> string(1) "4" ["invoice_id"]=> string(1) "4" ["invoice_date"]=> string(0) "" ["due_date"]=> string(0) "" ["to_name"]=> string(1) "4" ["to_address"]=> string(1) "4" ["item"]=> array(1) { [0]=> string(5) "Hours" } ["desc"]=> array(1) { [0]=> string(2) "44" } ["unitAmt"]=> array(1) { [0]=> string(1) "4" } ["qty"]=> array(1) { [0]=> string(1) "4" } ["amount"]=> array(1) { [0]=> string(2) "16" } ["invoiceNotes"]=> string(2) "44" ["subTotal"]=> string(2) "16" ["total"]=> string(2) "16" ["amtPaid"]=> string(1) "0" ["balDue"]=> string(2) "16" }
Как вы можете видеть, переменная unitAmt в настоящее время размещены, но я получаю эту ошибку, когда я использую его:
ErrorException
Undefined index: unitAmt
open: /var/www/lk/htdocs/app/routes.php
//var_dump($rows);
//var_dump($description);
for($i=0; $i<count($rows);$i++){
DB::table('item_description')->insert(
array('invoice_id' => $returnID, 'item' => $rows[$i], 'description' => $description[$i],
'unit_price' => $_POST['unitAmt'][$i], 'quantity' => $_POST['qty'][$i], 'amount'=>$_POST['amount'][$i]));
}
Это работает отлично за количество и сумму, которые размещаются аналогичным образом. То же самое происходит и в других местах при сбросе переменной, я вижу, что данные есть, но когда я использую ее, отображается неопределенный индекс.
Edit: Это мой код в route.php
var_dump($_POST);
$rows = $_POST['item'];
$description = $_POST['desc'];
for($i=0; $i<count($rows);$i++){
DB::table('item_description')->insert(
array('invoice_id' => $returnID, 'item' => $rows[$i], 'description' => $description[$i],
'unit_price' => $_POST['unitAmt'][$i], 'quantity' => $_POST['qty'][$i], 'amount'=>$_POST['amount'][$i]));
}
проверки этих трех полей, ваши var_dump шоу? в имени ключа, поэтому он не совпадает с $ _post ['unitAmt'] ..... ["? unitAmt"] => array (1) {[0] => строка (1) "4"} \t \t \t ["? Qty"] => массив (1) {[0] => строка (1) "4"} \t \t \t ["? Amount"] => массив (1) {[0] => string (2) «16»} – Shridhar
не понял, что вы написали. –
проверьте, почему «вопросительный знак» появляется перед полями unitAmt, qty и amount в вашем var_dump. Ошибка undefined index unit. Вы получаете из-за ключа массива «? UnitAmt». – Shridhar