我想知道如何从动态创建的表单中获取复选框的名称。首先,我以单独的形式显示每个数据记录,然后如果需要删除记录,我们将能够删除。我可以给somename + id指定不同的名称。但是我怎么知道控制器中的名字。由于目前尚不清楚控制器中的名称是什么,我无法删除记录。我在laravel 5.4中这样做。这是我的代码 -
@if (isset($allcolors))
@foreach ($allcolors as $color)
<tr>
<form method="post" action="/delete">
{{csrf_field()}}
<input type="hidden" name="_method" value="DELETE">
<td>
<span class=""><input type="checkbox" name="deletecolor[{{$color->id}}]" value="{{$color->id}}"></span>
</td>
<td>
<div style="background:{{$color->web_color}}">a</div>
</td>
<td>{{$color->color_name}}</td>
<td>
<button type="submit" class="btn btn-danger">
Delete
</button>
</td>
</form>
</tr>
@endforeach
@endif
然后在表单提交上我想要获取我正在做的事情 -
public function destroy(Request $request)
{
//
$id = $request->input('deletecolor');
$affected = DB::update("DELETE FROM vehicle_color where id = ?", [$id]);
//echo $affected==1?"Successfully Deleted":"Delete Fail";
}
答案 0 :(得分:1)
我看到你有"Microsoft SQL: Incorrect syntax near the keyword 'EXEC'.
。为什么不根据它删除它们?
$color->id
在你的控制器中:
@if (isset($allcolors))
@foreach ($allcolors as $color)
<tr>
<form method="post" action="/delete">
{{csrf_field()}}
<input type="hidden" name="_method" value="DELETE">
<td><span class=""><input type="checkbox" name="deletecolor[{{ $color->id }}]" value="{{$color->id}}"></span></td>
<td><div style="background:{{$color->web_color}}">a</div></td>
<td>{{$color->color_name}}</td>
<td><button type="submit" class="btn btn-danger" data-toggle="modal" data-target="#colorDelPopup">Delete</button></td>
</form>
</tr>
@endforeach
@endif
这应该可以解决问题。