0

ここは移住です。

Schema::create('ruanganjns', function (Blueprint $table) {
            $table->increments('id');
            $table->string('kode_jenis_ruangan');
            $table->string('jenis_ruangan');
            $table->date('tgl_berlaku');
            $table->string('status');
            $table->timestamps();
        });

モデルはこちら。

protected $table = 'ruanganjns';
    protected $fillable = ['kode_jenis_ruangan','jenis_ruangan','tgl_berlaku','status'];
    public $timestamps = true;
    public function Ruangan()
    {
        return $this->HasMany('App\Ruangan','id_ruangan');
    }

ここにコントローラーの編集コードがあります。

public function edit(Ruanganjns $ruanganjns)
    {
        $ruanganjns = Ruanganjns::findOrFail($ruanganjns->id);
        return view('ruanganjns.edit', compact('ruanganjns'));
    }

これがルートです。

ここ

主なエラーは常に ID が見つからないことが原因です。すべてのコードは最初のコード ソースからコピー アンド ペーストされていますが、最初のソース コードはすべてうまくいきます。3番目のソースコードなどはうまくいきます。名前を変更したり、最初から作成したりしても、問題の原因は常にこの2番目のテーブルにあります。常に同じです。スペルミスや大文字と小文字の区別、またはコードに何か問題がありますか?

これは、ここの Web ブラウザでの結果 です

4

1 に答える 1

1

Implicit モデル バインディングを実装しようとしていますが、コントローラー アクションに間違った変数名があります。このようにルートプレースホルダーと一致する必要があります

あなたのルートはこのようなものです

Route::get('admin/ruangjns/{ruangjn}/edit', 'RuanganjnsController@edit');

次に、コントローラーのアクションコードは次のようになります

public function edit(Ruanganjns $ruangjn)  //here $ruangjn should match with route placeholder
{
    return view('ruanganjns.edit', compact('ruangjn'));
}

モデル レコードを自動的にフェッチし、レコードが見つからない場合は 404 エラーを返します。詳しくは上記リンクをチェック

于 2018-09-24T04:22:50.867 に答える