Laravel复选框始终为空

时间:2015-08-19 19:16:23

标签: php laravel checkbox blade

我有一个奇怪的问题,我似乎无法解决。我有一个复选框:

{!! Form::checkbox('createDatabase', '1', true) !!}

当我提交表单时,它会在检查时给我一个空字符串。 除非我提交表单并在其他字段上获得验证错误,然后我重新提交,然后我得到'1'。

我已经尝试使用true而不是其他值和其他值,但似乎没有任何效果。

我以前做过很多次这很奇怪,之前从未有过这个。

编辑:控制器代码

public function store(NewProjectRequest $request)
    {
        dd($request->createDatabase)
        //some more code over here but it's not related
    }

2 个答案:

答案 0 :(得分:0)

我认为您需要在控制器的存储方法中使用以下代码:

    public function store(NewProjectRequest $request)
    {
        Database::create($request->all());
        return $database;
    }

以上假设这是您正在创建的具有模型的“数据库”对象。 $ request-> all()是(您可能已经知道)表单中的所有输入如何保存为Database对象。

如果您以这种方式执行操作,请确保已将所有输入设置为可在模型中指定的质量:

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Database extends Model
{
    protected $fillable = [
        'createDatabase',
        'otherInputNames'
    ];
}

答案 1 :(得分:0)

感谢您的所有意见和帮助。

经过几个小时的紧张调试后,我能够解决问题。它与刀片或我的输入字段以及所有内容无关。

我的表单在第一个字段上自动完成,这是一个唯一的代码。每个键(带去抖)我检查数据库中是否存在该代码。如果该字段不存在,则清空表单的所有字段,包括显示的复选框。

因此,通过排除该调用的复选框,一切都已解决。

再次感谢所有输入!