안녕하세요 저는 아직 laravel에 익숙하지 않고 웹에서이 문제에 대해 거의 3 시간 동안 검색했지만 많은 시도를했지만 작동하지 않았습니다.Laravel : 버튼 클릭시 열의 값 업데이트
기본적으로 버튼이있는 페이지가 있는데 "승인"값을 0에서 1로 업데이트하려고합니다 (열은 부울 유형 임). 이 내 컨트롤러 :
{!!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()!!}
및 경로 (내 생각 :
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"가 버튼으로 페이지 섹션이다
:Route::post('/trainings',['as' =>'trainings.show', 'uses' => '[email protected]']);
버튼을 클릭하면 내가 오류는 이것이다 : 이것은 내가 잘못 부분)입니다
{{ Form::hidden('_method','POST') }}
을 또는 :
{!! Form::open(['method' => 'post', 'action' => ....
을 또한 추가 할 필요가
Symfony \ Component \ HttpKernel \ Exception \ MethodNotAllowedHttpException
는 경로가 post
이기 때문에, 당신이 너무 게시 할 양식 방법을 변경해야합니다 당신의 도움이
: 형식 오류 : "App \ Http \ Controllers \ TrainingsController :: approve() 함수의 인수가 너무 적습니다. 0이 전달되고 정확히 1이 될 것입니다."그러나 TrainingsID를 올바르게 부여하고 있습니까? 그래서 난 이해가 안 돼 –
@AbdelKdj 제 대답의 두 번째 부분을 읽어주십시오. 경로를 변경 했습니까?또한,'return redirect ('/ trainings')'로 리다이렉트하고 있으므로 다른 경로가 필요하거나'return redirect ('trainings /'. $ id)'처럼 ID를 전달하기를 원합니다. –
미안 해요. 알았어. 알았어, 컨트롤러의 업데이트 방법에 대한 오류 확인 메시지가 표시 되었어. 지금 혼란스러워서 테이블을 업데이트하지 않는다./ –