uma*_*uma 2 php html5 laravel-5
我正在使用laravel 5框架进行项目。我想为我的课程传递两个parameter通行DELETE方法Controller。
ex.blade.php
<td align='center'>
{!! Form::open(['method' => 'DELETE', 'route'=>['commitee-page-member.destroy',$member->id ,$commitee->id]]) !!}
<button type="submit" class="btn btn-default btn-sm" onclick="return confirm('Are you sure?')"> <span class="glyphicon glyphicon-trash"></span> </button>
{!! Form::close() !!}
</td>
Run Code Online (Sandbox Code Playgroud)
当我点击按钮,我可以看到variable通过url:
网址:
../masterlaw.com/commitee-page-member/1?5
Run Code Online (Sandbox Code Playgroud)
我尝试不同的方式,采用这two parameters1和5。
控制器类代码:
public function destroy(Request $request, $id)
{
//
echo $id;
echo $request['id'];
}
Run Code Online (Sandbox Code Playgroud)
但是我仍然无法记录retrieve数据。请帮我。
这里的问题是资源类的destroy()方法仅接受一个参数,即ID。一种可能的解决方案是创建一个控制器类(不是资源)并创建一个接受两个参数的方法:
class PageController extends Contoller{
public function destroy(Request $request, $memberId, $commiteeId){
// echo memberId;
}
}
Run Code Online (Sandbox Code Playgroud)
命名一条符合您的需求和表单格式的路线:
Route::get('delete-page/{memberId}/{commiteeId}', [
'as' => 'destroy',
'uses' => 'PageController@destroy'
]);
Run Code Online (Sandbox Code Playgroud)
现在,您的路线已准备好与两个参数一起使用:
{!! Form::open([
'method' => 'POST',
'route' => ['destroy', $member->id, $commitee->id]]) !!}
Run Code Online (Sandbox Code Playgroud)
另外,您可以阅读有关嵌套资源的更多信息,如果您的项目是在特定结构下进行的,则对您很有用。
编辑。
如果您认为必须在资源类中保留代码,则可以添加自定义方法并routes.php在资源声明之前在文件中声明它:
// using "delete" as a verb
Route::delete('memberPage/customDestroy/{memberId}/{commiteeId}', 'MyResource@customDestroy');
Route::resource('memberPage', 'MyResource');
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7070 次 |
| 最近记录: |