javascript - Laravel - 在数据库中存储多个复选框表单值

标签 javascript php html laravel laravel-5

所以我得到了这段代码

查看:

<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>

Controller :

  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'];
}

当我尝试提交表单时,即使我在提交表单时勾选了多个复选框,服务数据库中也只有一个数字。 我试图在谷歌上找到解决方案,但一无所获。

最佳答案

如果您有多个这样的复选框:

<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"/>

然后您可以在 Controller 中获取该输入并执行如下操作:

$services = $request->input('services');
foreach($services as $service){
 orders::create($service);
}

Laravel 中数组的验证:

https://laravel.com/docs/5.7/validation#validating-arrays

关于输入数组的更多信息:

https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox#Handling_multiple_checkboxes

How to get form input array into PHP array

关于javascript - Laravel - 在数据库中存储多个复选框表单值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52447032/

相关文章:

javascript - 通过 Angular 工厂的 POST 请求发送数据

javascript - 使用 getElementsByClassName 更改多个类?

javascript - 如何在页面加载时使用 mysql 查询结果设置单选按钮值后触发 javascript 函数

javascript - 将 Facebook PHP SDK 与 Facebook JavaScript SDK 2014 结合使用

Javascript如何设置间隔时间停止滚动

javascript - 单元测试模块化javascript

php - 如何在 Symfony4 中为一个或两个 Controller 添加中间件?

javascript - 如何将 json_encode 返回的对象转换为 javascript 变量

html - Internet Explorer 中标签内的图像和复选框

html - 我找不到 textarea 边距在哪里