2016-08-25 6 views
1

내 열 isApprove을 true로 업데이트하려고하거나, 확인란을 선택하면 1을 업데이트하려고합니다. 내 시야에서 볼 수 있듯이. 선택한 확인란의 ID를 찾기 위해 href를 내 체크 박스에 추가했습니다. 그러나 불행히도 확인란을 선택하면 오류가 발생합니다. 내가 뭔가를 놓친 건가? 어떤 도움을 주시면 감사하겠습니다!확인란을 사용하여 테이블 열을 업데이트하는 방법은 무엇입니까?

[Route : document.pending] [URI : documents/pending/approve/{id}]에 대한 필수 매개 변수가 누락되었습니다. (보기 : C : \ 사용자 \ JohnFrancis \ LaravelFrancis \ 리소스 \ 전망 \ 문서 \의 create.blade.php)

보기

<tbody> 
     @foreach ($pendingDocumentLists as $list) 
     <tr class = "info"> 

     <td>{{ $list->title }}</td> 

     <td> 

     @if (Auth::id() == $list->approver_id) 

     <form class = "form-inline" method = "post" action = "{{ route ('document.pending', $list->id) }}"> 


       <div class = "form-group"> 
        <a href = "{{ route ('document.pending', $list->id) }}"> 
         <input type = "checkbox" name = "approve" value = "yes"> 
          <strong>Approve</strong> 
         </input> 
        </a> 
       </div> 

       <div class = "form-group"> 

        <a href = "{{ route ('document.pending', $list->id) }}"> 
        <input type = "checkbox" name = "reject"> 
         <strong>Reject</strong> 
        </input> 
        </a> 
       </div> 

     </form> 
      @endif 
      </td> 
     </tr> 
    @endforeach 
</tbody> 

컨트롤러 pending.blade.php

public function updateIsApprove($id) 
{ 
    $document = Document::find($id); 

    if($approve == "yes") 
    { 
     $document->isApprove = 1; 
     $document->save(); 
    } 
} 

경로

,
Route::get('/documents/pending', 
[ 
    'uses' => '\App\Http\Controllers\[email protected]', 
    'as' => 'document.pending', 
]); 

Route::post('/documents/pending/approve/{id}', 
[ 
    'uses' => '\App\Http\Controllers\[email protected]', 
    'as' => 'document.pending', 
]); 
+0

포함 된 오류는 귀하의 질문과 관련이 없습니다. 오류는 경로 {url}에 {id}이 (가) 제공되지 않았다는 것입니다. – Devon

+0

@RyanVincent 체크 상자를 선택했을 때 나는 true로 설정하려고합니다. 유효합니까? 내 ID로 확인란 값을 전달 했습니까? 감사 – Francisunoxx

답변

0

입력을 선택하지 않으면 라우터를 보내지 않을 것입니다. 그리고 귀하의 라우터 {id} 속성이 필요합니다 확인란 앞에 같은 이름의 숨겨진 입력을 추가 할 수 있습니다.

<input type = "hidden" name = "approve" value = "no"> 

확인란을 선택하면 숨겨진 입력 값을 다시 씁니다. 그리고 체크 박스를 체크하지 않으면 같은 이름을 부여하지만 다른 값을 부여합니다.