Laravel CRUD删除功能错误

时间:2017-06-20 07:31:19

标签: php laravel laravel-5 crud delete-file

在这里,我想要的是当我按下删除按钮所需的原始需要被删除。这意味着需要删除相关的trainee_id及其细节。

enter image description here 这是我正在使用的控制器。

public function admin_destroy($trainee_id)
{
    registerdetails::where('trainee_id','=',$trainee_id)->first()->destroy(); 
}

这是路线。

Route::get('Delete/{trainee_id?}', 'UserRegisterController@admin_destroy')
       ->where('trainee_id', '(.*)');;`

这是删除的视图按钮。

<td>
    <a class="btn btn-danger" href="Delete/{{ $item->trainee_id }}">Delete</a>
</td>

这是我按下删除按钮时获得的URL。

http://127.0.0.1:8000/Delete/MOB/TR/1739

最后这是我得到的错误。

enter image description here

任何人都可以建议我修复此错误。

3 个答案:

答案 0 :(得分:2)

public function admin_destroy($trainee_id)
    {
        registerdetails::destroy($trainee_id)->first(); 
    }

使用此

答案 1 :(得分:1)

destroy方法需要一个键或一组键。像这样:

registerdetails::destroy($trainee_id);

你也可以这样做:

registerdetails::where('trainee_id','=',$trainee_id)->delete();

检查文档: https://laravel.com/docs/5.4/eloquent#deleting-models

答案 2 :(得分:1)

destroy()函数需要一个参数(单个id或由逗号分隔的id或id数组)作为

传递
App\registerdetails::destroy(1);

App\registerdetails::destroy([1, 2, 3]);

App\registerdetails::destroy(1, 2, 3);

id传递给像这样的破坏

registerdetails::destroy($trainee_id); 

或使用delete()方法删除为

registerdetails::where('trainee_id','=',$trainee_id)->delete();