CakePHP中的级联删除及批量删除
来源:互联网 发布:监控设备搜索软件 编辑:程序博客网 时间:2024/05/18 00:52
假设有 articles
和 comments
两张数据表,两者之间为一对多的关系,即 Article hasMany Comments
。
级联删除
如果要在删除某篇文章的时候,同时级联删除该文章所有的评论,则需要在 ArticlesTable
类中进行类似如下配置:
public function initialize(array $config) { ... $this->hasMany('Comments', [ 'foreignKey' => 'article_id', 'dependent' => true, //设置级联 'cascadeCallbacks' => true ]); ... }
批量删除
使用 Cake\ORM\Table::deleteAll($conditions)
批量删除符合某些条件的文章,如在ArticlesController的方法中:
...$this->Articles->deleteAll([ 'title LIKE' => '%测试%']);...
批量级联删除
在使用 Cake\ORM\Table::deleteAll()
方法进行批量删除的时候,在Table类中设置的 dependent => true
便不再起作用,也就是说在批量删除的时候不能自动级联删除相关数据。目前可行的替代方法是首先查询出一个Collection对象,然后在遍历中逐条删除,如在Contorller方法中:
...$articles = $this->Articles->find('all', [ 'conditions' => [ 'title LIKE' => '%测试%' ]]);foreach($articles as $article) { $this->Articles->delete($article);}...
阅读全文
1 0
- CakePHP中的级联删除及批量删除
- CakePHP: 级联删除
- CakePHP中的批量保存及批量更新
- Oracle中的级联删除
- SQL Server 批量更新和级联删除(批量删除)
- 级联删除
- 级联删除
- 级联删除
- 级联删除
- 级联删除
- 级联删除
- 级联删除
- 级联删除
- 级联删除
- 级联删除
- 删除级联hibernate级联删除
- jQuery中的批量删除以及即点即改原理及实现
- Angular全选及批量删除
- Java面试笔试题大汇总(最全+详细答案)
- caffe:将图像转化为LMDB格式文件
- 213. House Robber II
- 利用建站快速软件包:XAMPP,构建基于winodws平台快速搭建PHP的数据库应用- kimai
- EventBus框架总结之用法
- CakePHP中的级联删除及批量删除
- LeetCode 198. House Robber 递归->记忆->动态规划 ->新思路
- usermod
- Java内存模型学习
- 解决chrome无法启用印象笔记-剪藏功能的办法
- caffe:使用训练好的模型
- Mysql的join(连接查询)
- HDU 4300 Clairewd’s message (KMP的nex数组应用)
- 2017.6.20 MFC菜单命令及响应顺序