出于这个问题的目的,我们假设我们使用三个表建立了多对多的关系:
courses - with a id and name
students - with id and name
enrollment - with course_id and student_id
在rails中,如果你执行has_and_belongs_to_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,另一个用于添加新查询)。有没有办法在一个甚至两个查询中执行此操作?
谢谢!
答案 0 :(得分:2)
如果我正确理解你,你可以在2中完成:
但是,我会使用交易来确保两者都被执行。