![](/img/trans.png)
[英]Is there a way to store multiple selected checkbox values in one database column?
[英]Laravel - Store multiple checkbox form values in database
所以我有这个代码
看法:
<div id="checkboxes"> <input type="checkbox" class="checkbox" name="services" value="{{ $service->id }}" id="{{ $service->id }}" /> <label class="whatever" for="{{ $service->id }}"><p class="serv-text"> {{ $service->service_name }} + ${{ $service->price }} </p></label> </div>
控制器:
public function store(Request $request) { orders::create(Request::all()); return 'test'; }
模型:
class orders extends Model { protected $fillable = [ 'category', 'services', 'total_price', 'user_id', 'status', 'user_id']; }
当我尝试提交表单时,即使我在提交表单时选中了多个框,在 services 的数据库中也只有一个数字。 我试图在谷歌上找到一个解决方案,但什么也没有。
如果您有多个这样的复选框:
<input type="checkbox" name="services" value="1"/>
<input type="checkbox" name="services" value="2"/>
<input type="checkbox" name="services" value="3"/>
它只会向服务器发送一个值,因为名称必须是唯一的。 解决方法是使用数组输入:
<input type="checkbox" name="services[]" value="1"/>
<input type="checkbox" name="services[]" value="2"/>
<input type="checkbox" name="services[]" value="3"/>
然后您可以在控制器中获取该输入并执行以下操作:
$services = $request->input('services');
foreach($services as $service){
orders::create($service);
}
Laravel 中数组的验证:
https://laravel.com/docs/5.7/validation#validating-arrays
有关输入数组的更多信息:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.