有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()?
切换成连接表的话,对象指向的是个临时表记录触发不了删除,你试下不用临时表操作删除对象。
laravel文档示例: