在我们做项目中,增删查改是我们必须要掌握的。我们一般删除的话就通过获取某一个主键来进行进行对单条数据删除,直接通过Single来进行删除。当然也有批量删除,我们是通过获取选中行来获取主键ID来进行对主键ID来拼接,然后传到控制器,通过遍历来进行对每一条数据进行删除。
然而,我接下来的问题就是我需要的就是我要根据外键ID来进行删除多条数据,如果一个外键ID对应的数据是多条的时候,我们可以用single查询,但是会触发异常。
下面我们来看一下页面上的效果:
现在我们就来实现一下,下面看上图,这是主表,然后我要根据这个ID来进行对另一张表的数据进行删除,这样我们要根据一个外键ID对应的多条数据的删除,就是当我们选择商机信息的时候,我们要根据它ID来进行删除另一张表。我们把我们想要删除的商机ID来进行传到控制器,因为我们删除的时候要删除主表,还有另一张表的数据,而另一张表的数据就是要根据我们要删除的商机ID来进行多条删除。
这个是我们要删除的主表,然而在这时候我们申请一个int类型来进行接受主表的ID,然后我们来通过这个ID来进行把另一张表里的所有关于这个ID的所有数据给查询出来,然
后通过for循环来进行每一条数据进行删除,代码如下:
但是这样就会报错,效果图如下:
这时我有想到了利用遍历循环来根据商机ID来进行对多条数据删除,下面我们来看一下怎么操作,其实道理也是一样的。
首先我们需要申请一个int类型来接受商机ID,然后在查询出所有关于它ID的数据,在利用foreach遍历循环把关于它ID的每一条数据进行删除,下面请看代码:
这样我们便完成删除主表商机表,然后我们的外键ID对应的多条数据也就进行删除成功了。
效果图如下: