首页 > 解决方案 > Symfony \ Component \ HttpKernel \ Exception \ MethodNotAllowedHttpException 没有消息,当我要更新我的数据库

问题描述

伙计们,我收到了这个错误

Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException 无消息

我检查一切都会好起来的,但我仍然遇到错误。我使用资源路由,我想更新我的数据,

这是我的 web.php

Route::resource('posts', 'MuseumController'); 

这是我的 edit.blade.php

 <form action="/posts" method="POST" enctype="multipart/form-data">
    @csrf
    .
    .
    <input type="hidden" name="_method" value="PUT">
</form>

这是我的更新课程

public function update(Request $request, $id)
    {

        $this->validate($request, [
            'nama' => 'required',
            'lokasi' => 'required',
            'alamat' => 'required',
            'keterangan' => 'required',
        ]);

        //Edit file upload/fotonyaa
        if($request->hasFile('foto')){
            //Jipuk jeneng plus eksistensine
            $fileNameWithExt = $request->file('foto')->getClientOriginalName();
            // Jipuk nama file e
            $filename = pathinfo($fileNameWithExt, PATHINFO_FILENAME);
            // Jipuk eksistensine
            $extension = $request->file('foto')->getClientOriginalExtension();
            // Filename to  storee
            $fileNameToStore = $filename. '_'.time().'.'.$extension;
            //Upload the Image
            $path = $request->file('foto')->storeAs('public/cover_images', $fileNameToStore);
        }

        //Ini dia skrip untuk update datanya
        $museum = Museum::find($id);
        $museum->nama = $request->input('nama');
        $museum->lokasi = $request ->input('lokasi');
        $museum->alamat = $request->input('alamat');
        $museum->keterangan = $request->input('keterangan');

                                  //'success' didefinisikan dari file alert.blade.php                              
        return redirect('/posts')->with('success', 'Museum berhasil diubah');
    }

我认为我的问题已经足够了,我正在等待您的回答,提前致谢!

标签: phplaravel-5

解决方案


您定义的路线出错。它的获取并且应该更改为发布

改变这个

Route::get('/login', ['as' => 'login', 'uses' => 'LoginController@getLogin']); 对此

Route::post('/login', ['as' => 'login', 'uses' => 'LoginController@getLogin']); action="{{ route('login') }}" # 表单提交动作


推荐阅读