2016-08-26 89 views
0

我想根据我的表数据中选定的单选按钮更新我的列。如果选择单选按钮,我想将isApprove列设置为true。但是我有相同的收音机名称,选中哪个单选按钮可以将我的列isApprove更新为true。使用单选按钮更新表列

查看

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

    <div class = "radio"> 
     <label><input type = "radio" name = "status" value = "$list->id"> Approve</label> 
    </div> 

    <div class = "radio"> 
     <label><input type = "radio" name = "status" value = "$list->id"> Reject</label> 
    </div> 

</form> 

正如你可以在这里看到我通过了$list->id的价值在我的单选按钮,这样就决定选择哪个ID。

控制器

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

    $document->isApprove = ; 

    $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', 
]); 

UPDATE

我跟着什么@SteD需要做的,@ Doom5说。

查看:

<form class = "form-inline" method = "post" action = "{{url('documents/pending/approve')}}"> 

<input type="hidden" name="id" value="{{$list->id}}"> 

<div class = "radio"> 
    <label><input type = "radio" name = "status" value="approve"> Approve</label> 
</div> 

<div class = "radio"> 
    <label><input type = "radio" name = "status" value="reject"> Reject</label> 
</div> 

</form> 

控制器:

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

    $document->isApprove = $request->status; 

    $document->save(); 

    dd($request->all()); 
} 

回答

2

所以,你需要在你的控制器通过2个数据:

  1. 文件编号
  2. 批准/拒绝(从单选框)

刀片

<form class = "form-inline" method = "post" action = "{{url('documents/pending/approve')}}"> 
    <input type="hidden" name="id" value="{{$list->id}}"> 

    <div class = "radio"> 
     <label><input type = "radio" name = "status" value="approve"> Approve</label> 
    </div> 

    <div class = "radio"> 
     <label><input type = "radio" name = "status" value="reject"> Reject</label> 
    </div> 

</form> 

变化您的路线

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

您可以通过使用$request->status

public function updateIsApprove(Request $request) 
{ 
    $document = Document::find($request->id); 

    $document->isApprove = $request->status; 

    $document->save(); 
} 
+0

我已经尝试过这种解决方案,但它说,'MethodNotAllowedHttpException' – Francisunoxx

+0

尝试并参见 – SteD

+0

仍然收到相同的错误。我相信你的解决方案,我不应该在我的行动表单中通过ID。对? – Francisunoxx

0

你有相同的名字,但值是不同的。然后你可以根据单选按钮的值进行更新。