Laravel 5.8字段“名称”没有默认值

时间:2019-08-25 10:05:10

标签: php laravel

您好,我在laravel中开发了一个学生CRUD,但是在将数据保存到数据库中时遇到了问题。

这是Laravel返回的问题。 SQLSTATE [HY000]:常规错误:1364字段“名称”没有默认值

我的商店功能。

public function store(Request $request)
    {
        $alumno = Alumno::create();
        $alumno->fill($request->all());
        $alumno->save();
        return redirect('/alumnos');
    }

我的模特:

class Alumno extends Model
{
    protected $fillable = ['name','apellido','matricula','correo'];
}

我的表单:

<form action="/alumnos" method="post">
    @csrf
    <fieldset class="form-fieldset">
        <div class="form-group">
            <label class="form-label">Nombre<span class="form-required">*</span></label>
            <input type="text" class="form-control" name="name" required/>
        </div>
        <div class="form-group">
            <label class="form-label">Apellido<span class="form-required">*</span></label>
            <input type="text" class="form-control" name="apellido" required/>
        </div>
        <div class="form-group">
            <label class="form-label">Matricula<span class="form-required">*</span></label>
            <input type="number" class="form-control" required name="matricula" />
        </div>
        <div class="form-group mb-0">
            <label class="form-label">Correo Electronico<span class="form-required">*</span></label>
            <input type="email" class="form-control" name="correo" required />
        </div>
    </fieldset>
    <input type="submit" class="btn btn-primary" value="Guardar" />
</form>

我做错了什么?请帮忙,谢谢!!! :)

5 个答案:

答案 0 :(得分:0)

您可以在表单操作中尝试此操作。

 <form action="{{action('YourController@store')}}" method="post">

答案 1 :(得分:0)

您可以通过两种不同的方式解决此问题

  1. 您的数据库结构必须进行如下更改。默认字段必须为let $filters=...。描述字段是您的数据库字段。

像下面这样

Image

  1. 打开模型Null,然后像这样使用代码

    database/migrations/your_model

答案 2 :(得分:0)

问题是从表单操作URL尝试将操作更改为{{ action('YourController@store') }}

答案 3 :(得分:0)

您应按以下方式保存数据:

public function store(Request $request)
    {
        $alumno = new Alumno();
        $alumno = $alumno->create($request->all());
        return redirect('/alumnos');
    }

它将正常工作。

答案 4 :(得分:0)

您应该在迁移中添加行


$table->string('name')->nullable(); 

如上设置表格


 <form action="{{action('YourController@store')}}">

用于插入所有请求输入


Alumno::create($request->all());