laravel 联合表单条数据删除问题

有answers,users,answer_user三个表,其中answer_user中有answers,users的id作外键,现在我想先取出符合要求的answer_user的一条数据,在一系列数据处理之后再删掉它。但是如下操作会报错:

$answer = $this->find(rq('id'));

$vote = $answer
            ->users()
            ->newPivotStatement()   //切换成连接表 即 answer_user
            ->where('user_id', session('userId'))
            ->where('answer_id', rq('id'))
            ->first();
            
            //...数据处理
            
$vote->delete();//报错
        
$vote = $answer
            ->users()
            ->newPivotStatement()   //切换成连接表 即 answer_user
            ->where('user_id', session('userId'))
            ->where('answer_id', rq('id'))
            ->delete(); //正确,成功删除   
           
            

有什么方法实现像这样$vote->delete()?

阅读 3.8k
1 个回答

切换成连接表的话,对象指向的是个临时表记录触发不了删除,你试下不用临时表操作删除对象。

laravel文档示例:

$user = User::find(1);
$user->delete();
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题