Forms 请求中的Laravel unrequired参数不能为null

Forms 请求中的Laravel unrequired参数不能为null,forms,laravel,null,request,required,Forms,Laravel,Null,Request,Required,您好,我的问题是,当我将数据从窗体发布到控制器时,它会遇到一个错误,即我的列不能为null SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'date' cannot be null (SQL: insert into `tasks` (`body`, `importance`, `date`, `updated_at`, `created_at`) values (qqqqqq, i_u, , 2018-01-25 22

您好,我的问题是,当我将数据从窗体发布到控制器时,它会遇到一个错误,即我的列不能为null

SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'date' cannot be null (SQL: insert into `tasks` (`body`, `importance`, `date`, `updated_at`, `created_at`) values (qqqqqq, i_u, , 2018-01-25 22:29:16, 2018-01-25 22:29:16))
            {{--Importance--}}
            <div class="form-group  mx-sm-3 mb-2">
                <select class="form-control" name="importance">
                    <option value="i_u">Ważne pilne</option>
                    <option value="i_nu">Ważne mniej pilne</option>
                    <option value="ni_u">Mniej ważne pilne</option>
                    <option value="ni_nu">Mniej ważne mniej pilne</option>



                </select>
            </div>

            {{--Date--}}
            <div class="form-group mb-2"> <!-- Date input -->
                <input class="form-control" id="date" name="date" placeholder="Day/Month/Hour" type="text" value=""/>
            </div>

        <button type="submit" class="btn btn-primary mb-2">Dodaj</button>

        </form>
这一栏似乎必须填写,但我希望它是可选的。 我尝试将其设为默认值null,但没有成功。 事实上,当这个列被填满时,一切都正常工作。 问题是我希望这个输入可以随意填写

            {{--Importance--}}
            <div class="form-group  mx-sm-3 mb-2">
                <select class="form-control" name="importance">
                    <option value="i_u">Ważne pilne</option>
                    <option value="i_nu">Ważne mniej pilne</option>
                    <option value="ni_u">Mniej ważne pilne</option>
                    <option value="ni_nu">Mniej ważne mniej pilne</option>



                </select>
            </div>

            {{--Date--}}
            <div class="form-group mb-2"> <!-- Date input -->
                <input class="form-control" id="date" name="date" placeholder="Day/Month/Hour" type="text" value=""/>
            </div>

        <button type="submit" class="btn btn-primary mb-2">Dodaj</button>

        </form>
这是源plz帮助。我想这是所有关于日期

            {{--Importance--}}
            <div class="form-group  mx-sm-3 mb-2">
                <select class="form-control" name="importance">
                    <option value="i_u">Ważne pilne</option>
                    <option value="i_nu">Ważne mniej pilne</option>
                    <option value="ni_u">Mniej ważne pilne</option>
                    <option value="ni_nu">Mniej ważne mniej pilne</option>



                </select>
            </div>

            {{--Date--}}
            <div class="form-group mb-2"> <!-- Date input -->
                <input class="form-control" id="date" name="date" placeholder="Day/Month/Hour" type="text" value=""/>
            </div>

        <button type="submit" class="btn btn-primary mb-2">Dodaj</button>

        </form>
我的表格

 <form class="form-inline" method="post" action="/planer/public/">
            {{ csrf_field() }}

            {{--Describtion of a taks--}}
            <div class="form-group mb-2">
            {{--Importance--}}
            <div class="form-group  mx-sm-3 mb-2">
                <select class="form-control" name="importance">
                    <option value="i_u">Ważne pilne</option>
                    <option value="i_nu">Ważne mniej pilne</option>
                    <option value="ni_u">Mniej ważne pilne</option>
                    <option value="ni_nu">Mniej ważne mniej pilne</option>



                </select>
            </div>

            {{--Date--}}
            <div class="form-group mb-2"> <!-- Date input -->
                <input class="form-control" id="date" name="date" placeholder="Day/Month/Hour" type="text" value=""/>
            </div>

        <button type="submit" class="btn btn-primary mb-2">Dodaj</button>

        </form>
路由::post“/”,'TasksController@store';

            {{--Importance--}}
            <div class="form-group  mx-sm-3 mb-2">
                <select class="form-control" name="importance">
                    <option value="i_u">Ważne pilne</option>
                    <option value="i_nu">Ważne mniej pilne</option>
                    <option value="ni_u">Mniej ważne pilne</option>
                    <option value="ni_nu">Mniej ważne mniej pilne</option>



                </select>
            </div>

            {{--Date--}}
            <div class="form-group mb-2"> <!-- Date input -->
                <input class="form-control" id="date" name="date" placeholder="Day/Month/Hour" type="text" value=""/>
            </div>

        <button type="submit" class="btn btn-primary mb-2">Dodaj</button>

        </form>
路由::删除'/{task}','TasksController@destroy';

            {{--Importance--}}
            <div class="form-group  mx-sm-3 mb-2">
                <select class="form-control" name="importance">
                    <option value="i_u">Ważne pilne</option>
                    <option value="i_nu">Ważne mniej pilne</option>
                    <option value="ni_u">Mniej ważne pilne</option>
                    <option value="ni_nu">Mniej ważne mniej pilne</option>



                </select>
            </div>

            {{--Date--}}
            <div class="form-group mb-2"> <!-- Date input -->
                <input class="form-control" id="date" name="date" placeholder="Day/Month/Hour" type="text" value=""/>
            </div>

        <button type="submit" class="btn btn-primary mb-2">Dodaj</button>

        </form>
我的桌子

            {{--Importance--}}
            <div class="form-group  mx-sm-3 mb-2">
                <select class="form-control" name="importance">
                    <option value="i_u">Ważne pilne</option>
                    <option value="i_nu">Ważne mniej pilne</option>
                    <option value="ni_u">Mniej ważne pilne</option>
                    <option value="ni_nu">Mniej ważne mniej pilne</option>



                </select>
            </div>

            {{--Date--}}
            <div class="form-group mb-2"> <!-- Date input -->
                <input class="form-control" id="date" name="date" placeholder="Day/Month/Hour" type="text" value=""/>
            </div>

        <button type="submit" class="btn btn-primary mb-2">Dodaj</button>

        </form>
public function up()
{
    Schema::create('tasks', function (Blueprint $table) {
        $table->increments('id');
        $table->string('body');
        $table->string('importance');
        $table->string('date');
        $table->timestamps();
    });
}
还有我的控制器

            {{--Importance--}}
            <div class="form-group  mx-sm-3 mb-2">
                <select class="form-control" name="importance">
                    <option value="i_u">Ważne pilne</option>
                    <option value="i_nu">Ważne mniej pilne</option>
                    <option value="ni_u">Mniej ważne pilne</option>
                    <option value="ni_nu">Mniej ważne mniej pilne</option>



                </select>
            </div>

            {{--Date--}}
            <div class="form-group mb-2"> <!-- Date input -->
                <input class="form-control" id="date" name="date" placeholder="Day/Month/Hour" type="text" value=""/>
            </div>

        <button type="submit" class="btn btn-primary mb-2">Dodaj</button>

        </form>
 public function store(){
    $this->validate(request(),[
        'body'=>'required',
        'importance'=>'required'
    ]);

    Task::create([
        'body'=>request('body'),
        'importance'=>request('importance'),
        'date'=>request('date')
    ]);
    return redirect('/');
}
如果希望列在插入时是可选的,则必须在迁移中将其标记为可空

            {{--Importance--}}
            <div class="form-group  mx-sm-3 mb-2">
                <select class="form-control" name="importance">
                    <option value="i_u">Ważne pilne</option>
                    <option value="i_nu">Ważne mniej pilne</option>
                    <option value="ni_u">Mniej ważne pilne</option>
                    <option value="ni_nu">Mniej ważne mniej pilne</option>



                </select>
            </div>

            {{--Date--}}
            <div class="form-group mb-2"> <!-- Date input -->
                <input class="form-control" id="date" name="date" placeholder="Day/Month/Hour" type="text" value=""/>
            </div>

        <button type="submit" class="btn btn-primary mb-2">Dodaj</button>

        </form>
public function up()
{
    Schema::create('tasks', function (Blueprint $table) {
        $table->increments('id');
        $table->string('body');
        $table->string('importance');
        $table->string('date')->nullable();
        $table->timestamps();
    });
}
相关文档如下所示:

            {{--Importance--}}
            <div class="form-group  mx-sm-3 mb-2">
                <select class="form-control" name="importance">
                    <option value="i_u">Ważne pilne</option>
                    <option value="i_nu">Ważne mniej pilne</option>
                    <option value="ni_u">Mniej ważne pilne</option>
                    <option value="ni_nu">Mniej ważne mniej pilne</option>



                </select>
            </div>

            {{--Date--}}
            <div class="form-group mb-2"> <!-- Date input -->
                <input class="form-control" id="date" name="date" placeholder="Day/Month/Hour" type="text" value=""/>
            </div>

        <button type="submit" class="btn btn-primary mb-2">Dodaj</button>

        </form>
您可以在迁移中使用changes方法修改已创建的列,例如:

            {{--Importance--}}
            <div class="form-group  mx-sm-3 mb-2">
                <select class="form-control" name="importance">
                    <option value="i_u">Ważne pilne</option>
                    <option value="i_nu">Ważne mniej pilne</option>
                    <option value="ni_u">Mniej ważne pilne</option>
                    <option value="ni_nu">Mniej ważne mniej pilne</option>



                </select>
            </div>

            {{--Date--}}
            <div class="form-group mb-2"> <!-- Date input -->
                <input class="form-control" id="date" name="date" placeholder="Day/Month/Hour" type="text" value=""/>
            </div>

        <button type="submit" class="btn btn-primary mb-2">Dodaj</button>

        </form>
php artisan make:migration set_date_nullable-table=tasks

            {{--Importance--}}
            <div class="form-group  mx-sm-3 mb-2">
                <select class="form-control" name="importance">
                    <option value="i_u">Ważne pilne</option>
                    <option value="i_nu">Ważne mniej pilne</option>
                    <option value="ni_u">Mniej ważne pilne</option>
                    <option value="ni_nu">Mniej ważne mniej pilne</option>



                </select>
            </div>

            {{--Date--}}
            <div class="form-group mb-2"> <!-- Date input -->
                <input class="form-control" id="date" name="date" placeholder="Day/Month/Hour" type="text" value=""/>
            </div>

        <button type="submit" class="btn btn-primary mb-2">Dodaj</button>

        </form>
编写您的迁移:

            {{--Importance--}}
            <div class="form-group  mx-sm-3 mb-2">
                <select class="form-control" name="importance">
                    <option value="i_u">Ważne pilne</option>
                    <option value="i_nu">Ważne mniej pilne</option>
                    <option value="ni_u">Mniej ważne pilne</option>
                    <option value="ni_nu">Mniej ważne mniej pilne</option>



                </select>
            </div>

            {{--Date--}}
            <div class="form-group mb-2"> <!-- Date input -->
                <input class="form-control" id="date" name="date" placeholder="Day/Month/Hour" type="text" value=""/>
            </div>

        <button type="submit" class="btn btn-primary mb-2">Dodaj</button>

        </form>
Schema::table('tasks', function (Blueprint $table) {
    $table->string('date')->nullable()->change();
});
运行php artisan迁移

            {{--Importance--}}
            <div class="form-group  mx-sm-3 mb-2">
                <select class="form-control" name="importance">
                    <option value="i_u">Ważne pilne</option>
                    <option value="i_nu">Ważne mniej pilne</option>
                    <option value="ni_u">Mniej ważne pilne</option>
                    <option value="ni_nu">Mniej ważne mniej pilne</option>



                </select>
            </div>

            {{--Date--}}
            <div class="form-group mb-2"> <!-- Date input -->
                <input class="form-control" id="date" name="date" placeholder="Day/Month/Hour" type="text" value=""/>
            </div>

        <button type="submit" class="btn btn-primary mb-2">Dodaj</button>

        </form>
相关文档如下所示:

            {{--Importance--}}
            <div class="form-group  mx-sm-3 mb-2">
                <select class="form-control" name="importance">
                    <option value="i_u">Ważne pilne</option>
                    <option value="i_nu">Ważne mniej pilne</option>
                    <option value="ni_u">Mniej ważne pilne</option>
                    <option value="ni_nu">Mniej ważne mniej pilne</option>



                </select>
            </div>

            {{--Date--}}
            <div class="form-group mb-2"> <!-- Date input -->
                <input class="form-control" id="date" name="date" placeholder="Day/Month/Hour" type="text" value=""/>
            </div>

        <button type="submit" class="btn btn-primary mb-2">Dodaj</button>

        </form>

注意:检查日期列类型,而不是字符串。

欢迎使用SO。请在此处包含代码,而不是图像。工具都在那里。如果需要,请参阅“帮助我”部分。
            {{--Importance--}}
            <div class="form-group  mx-sm-3 mb-2">
                <select class="form-control" name="importance">
                    <option value="i_u">Ważne pilne</option>
                    <option value="i_nu">Ważne mniej pilne</option>
                    <option value="ni_u">Mniej ważne pilne</option>
                    <option value="ni_nu">Mniej ważne mniej pilne</option>



                </select>
            </div>

            {{--Date--}}
            <div class="form-group mb-2"> <!-- Date input -->
                <input class="form-control" id="date" name="date" placeholder="Day/Month/Hour" type="text" value=""/>
            </div>

        <button type="submit" class="btn btn-primary mb-2">Dodaj</button>

        </form>