我正在构建一个任务计划,其中显示一些用户,并且每个用户在一周内获得他们自己的任务列表。 任务将显示在字段中,因此用户始终可以更改此任务。我也在一周内使用动态表单为用户添加或删除任务。 对于动态表单,我为每个表单使用相同的名称。
我的代码如下所示:
<form onLoad="defaultValue" role="form" method="post" action="{{ route('addTasks') }}">
<input type="hidden" name="uid" value="{{ $user->id }}">
<input type="hidden" name="week" value="{{$weekshow}}">
<input type="hidden" name="year" value="{{ $jaar }}">
<div class="inputs">
@foreach($tasks as $task)
@if($task->user_id == $user->id)
<div class="col-md-9">
<input id="taskfield" name="dynamic[]" value="{{ $task->name }}" class="form-control field" onchange="update('tasks',1,'name')" type="text">
/* More inputs from dynamic form will be placed here.*/
</div>
@endif
@endforeach
</div>
<button name="submit" class="submitbutton btn btn-info submit" value="Opslaan" type="submit">Opslaan</button>
</form>
当用户添加动态表单时,它将被放置在第一个内部类=“col-md-9”下。动态输入是:
<input name="dynamic[]" class="form-control field" type="text">
为了保存数据,我在控制器中使用它:
$takenvdweek = $_POST['dynamic'];
foreach($takenvdweek as $taakvdweek) {
DB::insert('insert into tasks values (name, user_id, week, year)', array($taakvdweek, $_POST['uid'], $_POST['week'], $_POST['year']));
}
return redirect()->route('project')->with('message', 'Taken opgeslagen!');
但是当我尝试时,我收到以下错误:
插入值列表与列列表不匹配:1136列数与第1行的值计数不匹配
我做错了什么,我的代码是否可以使用?
答案 0 :(得分:1)
更改您的DB::insert
,语法不正确:
DB::insert('insert into tasks (name, user_id, week, year) values (?, ?, ?, ?)', array($taakvdweek, $_POST['uid'], $_POST['week'], $_POST['year']))