こんにちは私はまだlaravelには新しく、この問題については約3時間ウェブを検索していますが、私は多くのことを試みましたが動作しませんでした。Laravel:ボタンクリック時のカラムの値を更新する
基本的に、私はそのボタンをクリックすると、ボタンが付いたページを持っています。 "Approve"値を0から1に更新したい(その列はブール型です)。 これは私のコントローラである:
public function approve($id){
$training = Training::find($id);
$training->update(['Approved' =>'1']);
// $training->Approved = 1;
// $training->save();
return redirect('/trainings')->with('success', 'Training Approved');
}
これは、それがフォルダ研修中だと名「show.blade.php」を持っているボタンでページのセクションです:
{!!Form::open(['action' => ['[email protected]',$training->TrainingsID], 'method' => 'POST','class' => 'pull-left'])!!}
{{Form::hidden('_method','PUT')}}
{{Form::submit('Approve',['class' => 'btn btn-success'])}}
{!!Form::close()!!}
とルート(私は推測します
:Route::post('/trainings',['as' =>'trainings.show', 'uses' => '[email protected]']);
ボタンをクリックしたときに私が手にエラーがこれです:これは私が間違ってやっている部分)であります
Symfony \ Component \ HttpKernel \ Exception \ MethodNotAllowedHttpException
はルートがpost
あるので、あなたも投稿するフォームメソッドを変更する必要がありますあなたの助け
:タイプエラー: "App \ Http \ Controllers \ TrainingsController :: approve()関数の引数が少なすぎると0が返され、正確に1が期待されます"しかし、私はTrainingingsIDを正しく与えていますか?だから私は理解していない –
@AbdelKdj私の答えの2番目の部分をお読みください。あなたはルートを変更しましたか?また、 'return redirect( '/ trainings')'にリダイレクトしているので、別のルートが必要な場合や、 'return redirect( 'trainings /'。$ id)'のようにIDを渡したい場合もあります。 –
申し訳ありませんが表示されませんでした。現在、コントローラーの更新メソッドのエラー検証メッセージが表示されます。ちょっと混乱していて、テーブルも更新されません。/ –