首页 > 解决方案 > 如何在 laravel 中将批准的从 0 更新为 1

问题描述

嗨,以下是我的关系。

提交应用程序.php

public function requisition()
{
    return $this->hasMany(Requisition::class);
}

申请.php

public function submitApplication()
{
    return $this->belongsTo(SubmitApplication::class);
}

我的刀片

<form class="btn-group" action="{{ route('requisitions.update', ['id' => $requisition->id]) }}" method="post">
    {{ method_field('PATCH') }}
    {{ csrf_field() }}
    <button type="submit" class="btn btn-success btn-xs">تایید</button>
</form>

申请控制器.php

public function update(Request $request, SubmitApplication $submitApplication)
{
    $submitApplication->approved = 1;
    $submitApplication->save();
    return redirect()->back();
}

申请表:

public function up()
{
    Schema::create('requisitions', function (Blueprint $table) {
        $table->increments('id');
        $table->integer('school_id')->unsigned();
        $table->string('type');
        $table->string('status');
        $table->string('date');
        $table->timestamps();

        $table->foreign('school_id')->references('id')->on('schools');
    });
}

对于 submit_applications 表:

public function up()
{
    Schema::create('submit_applications', function (Blueprint $table) {
        $table->increments('id');
        $table->integer('requisition_id')->nullable()->unsigned();
        $table->integer('school_id')->nullable()->unsigned();
        $table->integer('approved')->nullable(true);
        $table->string('application')->nullable(true);
        $table->timestamps();
        $table->foreign('requisition_id')->references('id')->on('requisitions');
        $table->foreign('school_id')->references('id')->on('schools');
    });
}

当我单击批准按钮时。它补充说。id不想加

数据库

也许我做错了?

标签: laravel-5.4

解决方案


在您的 RequisitionController.php 中,您必须先检索模型,然后才能使用 save 方法。

$submitApplication = SubmitApplication ::find($request['id']);

推荐阅读