Si *_* Va 7 php model-view-controller laravel laravel-5
使用Laravel 5我试图删除控制器中的单个记录,这是我的代码:
public function destroy($id)
{
$employee = Employee::find($id);
$employee->delete();
return Redirect::route('noorsi.employee.index');
}
Run Code Online (Sandbox Code Playgroud)
我的浏览页面代码是:
<td><a href="employee/{{$employee->id}}/destroy" class="btn btn-default">Delete</a></td>
Run Code Online (Sandbox Code Playgroud)
我的路线是:
Route::delete(employee.'/{id}', array('as' => 'noorsi.employee.destroy','uses' => Employeecontroller.'@destroy'));
Run Code Online (Sandbox Code Playgroud)
那没用.
如何修复实施?
Lui*_*lez 26
从官方的Laravel 5文档:
删除现有模型
$user = User::find(1);
$user->delete();
Run Code Online (Sandbox Code Playgroud)
按键删除现有模型
User::destroy(1);
User::destroy([1, 2, 3]);
User::destroy(1, 2, 3);
Run Code Online (Sandbox Code Playgroud)
在每种情况下,括号中的数字表示对象ID,但您也可以在一组模型上运行删除查询:
$affectedRows = User::where('votes', '>', 100)->delete();
Run Code Online (Sandbox Code Playgroud)
http://laravel.com/docs/5.0/eloquent#insert-update-delete
Saa*_*aad 10
所以Laravel删除使用该destroy功能的方法是
<form action="{{ url('employee' , $employee->id ) }}" method="POST">
{{ csrf_field() }}
{{ method_field('DELETE') }}
<button>Delete Employee</button>
</form>
Run Code Online (Sandbox Code Playgroud)
你可以在这里找到一个例子http://laravel.com/docs/5.1/quickstart-intermediate#adding-the-delete-button 你的路线应该是这样的
Route::delete('employee/{id}', array('as' => 'employee.destroy','uses' => 'Employeecontroller@destroy'));
Run Code Online (Sandbox Code Playgroud)
它适用于例如:Route::resource('employee', 'EmployeeController');它也应该与你如何设置你的销毁路线一起使用.
显然你有一个糟糕的路由问题。您正在尝试使用“get”动词来到达用“delete”动词定义的路由。
如果你想使用锚点删除记录,你应该添加以下路由:
Route::get('/employee/{id}/destroy', ['uses' => 'EmployeeController@destroy']);
Run Code Online (Sandbox Code Playgroud)
或者继续使用删除动词,但随后您需要使用一个带有名为 的参数的表单(而不是锚),_method并且值'delete'表明您正在使用“删除”动词。
| 归档时间: |
|
| 查看次数: |
51097 次 |
| 最近记录: |