Я создаю приложение Laravel 5, где я использую плагин jQuery DataTables. в datatable у меня есть 3 поля ввода в каждой строке. что я хочу сделать, это вставить все введенные строки. В каждой строке вы должны заполнить все 3 входа, чтобы данные были опубликованы в базе данных. (База данных - это sql-сервер.) Я что-то пробовал, но он не работает. Вот что я пытался в методе контроллера магазина:Вставка в базу данных только заполненных входов в таблице html
$dates = $request->get('month');
$values = $request->get('value');
$comments = $request->get('comment');
$reports = []; // this will keep what we input in our DB
/*if(!empty($row['month']) && !empty($row['value']) && !empty($row['comment'])){
foreach($row as $rows){
$index = +1;
}
}*/
if(!empty($dates) && !empty($values)){
for($i = 0; $i < count($dates); $i++)
{
//here i am dividing month and year
$date = explode('-', $dates[$i]);
$year = $date[0];
$month = $date[1]; // <-- line 75
$reports[] = Reports::create([
'month' => $month,
'year' => $year,
'value' => $values[$i],
'comment' => $comments[$i]
]);
}
}
return $reports;
Это бросает меня ошибки, хотя:
ErrorException in ReportController.php line 75:
Undefined offset: 1
Я искал об этом, и он говорит, что я передаю массив вместо строки.
вот StackTrace (часть):
at HandleExceptions->handleError('8', 'Undefined offset: 1', 'E:\socgen\soc-gen\app\Http\Controllers\ReportController.php', '75', array('request' => object(Request), 'dates' => array('2015-06', '2015-02', ''), 'values' => array('369', '22223', ''), 'comments' => array('878', '5466', ''), 'reports' => array(object(Reports)), 'i' => '1', 'date' => array(''), 'year' => '', 'month' => '06')) in ReportController.php line 75
Любая помощь или подсказка ценится
Каков твой код в строке 75 –
Что такое '$ row'? откуда он? – itachi
@itachi жаль, что это был тест, который я сделал раньше. здесь нужно было прокомментировать – xhulio