问答详情
源自:6-5 使用Eloquent ORM删除数据

无法删除或者修改 数据

通过模型无法进行删除或者修改数据,就是说执行destroy 或者说通过模型->delete都删除不掉,但是返回的确实true之类,可是用where()->delete()就可以删除!怎么回事

提问者:MASTERSHU 2017-01-24 19:59

个回答

  • AR414
    2017-01-30 00:50:07

    补充一下:

    routes.php:

    Route::get('admin/student/ormDelete/{id}/{act?}',['uses'=>'Admin\StudentController@ormDelete']);

    App/Http/Controllers/Admin/Student:

    public function ormDelete($id,$act=false)
       {
           if($act)
           {
    //            $student = Student::findOrFail($id); //生产模式
               $student = Student::find($id);
               if(!$student)
                   return '操作失败';
               $result = $student->delete();
           }
           else
           {
                   $result = Student::destroy($id);
           }
           return $result?'删除成功':'操作失败';
       }

  • AR414
    2017-01-30 00:16:09

    destroy:通过传入主键值删除 tip:确认下传入的是主键么? Model中是否有设置主键 $primaryKey

    模型->delete 前提是 模型 = Student->find(主键); 模型->delete();

    感觉你的问题出现在主键上

    http://laravelacademy.org/post/2995.html 希望有用咯 嘻嘻