SQLSTATE [HY000]:常规错误:1364字段“ branch_id”没有默认值laravel 5.4

jec*_*360 1 php laravel laravel-5.4

大家好,我需要您的帮助。我是laravel 5.4的初学者。我正在尝试添加一个外键字段,但未添加该字段,并且产生错误没有默认值。

新增检视

然后错误

UsersController代码:

    public function create()
{
    $branches = Branch::pluck('name', 'id');
    return view('users.create', ['branches' => Branch::all()]);
}


public function store(Request $request)
{
    $this->validate($request, [
        'branch_id' => 'required',
        'fname' => 'required',       
        'lname' => 'required',
        'contact_number' => 'required',
        'bday' => 'required',
        'position' => 'required',
        'status' => 'required',
        'username' => 'required',
        'password' => 'required'
    ]);

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

    session()->flash('success_msg', 'Employee has been added!');
    return redirect('/employees');
}
Run Code Online (Sandbox Code Playgroud)

用户模型:

public function branch()
{
  return $this->belongsTo(Branch::class);
}
Run Code Online (Sandbox Code Playgroud)

用户迁移:

public function up()
{
    Schema::dropIfExists('users');
    Schema::disableForeignKeyConstraints();
    Schema::create('users', function (Blueprint $table) {
        $table->increments('id');
        $table->integer('branch_id')->unsigned();
        $table->string('fname');
        $table->string('lname');
        $table->string('contact_number');
        $table->date('bday');
        $table->integer('position');
        $table->integer('status');
        $table->string('username');
        $table->string('password');
        $table->rememberToken();
        $table->timestamps();

        $table->foreign('branch_id')->references('id')->on('branches')->onDelete('cascade');

    });

}
Run Code Online (Sandbox Code Playgroud)

用户中的create.blade.php

<div class="form-group">
    <label for="branch_id">Branch: </label>
    <!--{{ Form::select('branch_id', $branches, null) }}-->
    <select class="form-control" name="branch_id">
        @foreach ($branches as $branch)
            <option value= "{{ $branch->id}}">
              {{ $branch->name }}
            </option>
        @endforeach
    </select>
  </div>
Run Code Online (Sandbox Code Playgroud)

Yam*_*raf 5

branch_id,因为它不是可填充阵列不是模型中可见。

在App \ User.php中

protected $fillable = [ ... ]; // add branch_id
// or
protected $guarded = [];
Run Code Online (Sandbox Code Playgroud)