在本问题中,假设我们使用三个表建立了多对多关系:
courses - with a id and name
students - with id and name
enrollment - with course_id and student_id
在rails中,如果你做的是has_,而_属于_many,你可以做
course.student_ids = [1,2,3,4,5]
rails说它会根据需要添加/删除id。我想在PHP中做一些类似的事情。有点像
set_courses($student_id, array(1,2,3,4,5));
我想知道的是,是否有一个很好的方法在PHP中有效地实现这一点。我可以在3个查询(一个获取当前id,一个删除不必要的id,一个添加新的id)中找到一种方法。有没有办法在一个甚至两个查询中做到这一点?
谢谢!
最佳答案
如果我对你的理解正确的话,你可以在2:
删除所有当前注册
插入注册
不过,我会使用事务来确保两者都被执行。