我在Laravel应用程序中有3个模型:
User
Question
Alternative
一些模型关系:
Question
可以包含多个Alternative
。 Alternative
属于一个Question
有一个数据透视表,用户可以存储答案。它存储user_id
和alternative_id
。
在数据透视表中,如何删除特定Question
的所有答案? (我有question_id
)
答案 0 :(得分:2)
您可以使用分离以及同步方法,但您必须先在模型中定义关系,例如
public class Question extends Model{
public function alternatives(){
return $this->hasMany(Alternative::class);
}
}
public class Alternative extends Model{
public function users(){
return $this->belongsToMany(User::class);
}
}
而不是
$question = Question::findOrFail('question_id');
$queston->alternative()->user()->sync();
或
$question->alternative()->user()->detach();