级联删除表的子记录

2023-12-02

我有一个包含列 id、名称和parentid 的表

模型中的关系函数:

 'location_parent' => array(self::BELONGS_TO, 'Location', 'parentid'),
 'location_children' => array(self::HAS_MANY, 'Location', 'parentid', 'order' => 'id ASC'),

删除控制器中的操作:

public function actionDelete($id)
    {
            $this->loadModel($id)->delete();

            // if AJAX request (triggered by deletion via admin grid view), we should not redirect the browser
            if(!isset($_GET['ajax']))
                    $this->redirect(isset($_POST['returnUrl']) ? $_POST['returnUrl'] : array('admin'));
    }

要求:

在这里,如果我删除记录id = 1,然后行parentid = 1也需要删除。


在你的模型中覆盖beforeDelete在删除父记录之前递归删除所有子记录的方法,即

public function beforeDelete(){
    foreach($this->location_children as $c)
        $c->delete();
    return parent::beforeDelete();
}

请务必将初始删除调用包装在事务中,以确保删除所有记录或不删除任何记录。

你也可以只使用CDbCommand来执行删除操作。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

级联删除表的子记录 的相关文章

  • 动态创建 Yii FormModel 对象 (CFormModel)

    我正在开发一个涉及在高抽象级别生成表单的应用程序 它是一个 CMS 应用程序 我想动态创建 CFormModel 对象并即时设置表单字段 我想我可以通过扩展 CFormModel 然后动态创建代表表单字段的类属性 Yii 行话中的 属性 来
  • Yii 2.0 如何扩展核心类

    我想延长课程yii web 响应 所以我在文件夹中创建了一个新类 Response成分我尝试覆盖发送方法 namespace app components use Yii class Response extends yii web Res
  • Yii 和 cron 作业

    我创建了一个需要每月运行的 Yii 命令 如果我转到受保护的文件夹并手动运行命令 protected yiic ganadores 效果很好 我尝试将以下命令行添加到etc cron hourly and etc crontab没有成功 u
  • 在 yiimongodbsuite 中更新插入嵌入文档

    我需要在 yiimongodbsuite 中执行 upsert 命令 我试过 model new Murls model gt userid userid model gt title title model gt edits 0 new
  • CActiveForm 及其行为没有名为“getErrors”的方法或闭包。

    你好 我对 yii 框架很陌生 目前正在尝试通过数据库身份验证建立登录 但我反复收到此错误 C异常 CActiveForm 及其行为没有名为的方法或闭包 获取错误 任何人都可以帮我吗 这是控制器
  • Yii - 使用关系中定义的范围的关系

    我有一个模型 其一些关系定义如下 public function relations return array linkingTable gt array self HAS MANY LinkingTable array this id g
  • Yii:按 id ASC 选择最后 20 个条目

    我想获取表中最后 20 个条目 但按 ID 升序排序 在 Sql 中 这并不是很复杂 SELECT FROM SELECT FROM comments WHERE postID id ORDER BY id DESC LIMIT 20 t
  • Yii 单选按钮

    我在 Yii 中使用单选按钮 无论我做什么 我都无法获取要发布的所选按钮的值 我确信这只是简单的事情 我没有使用 radioButtonList 因为我希望每个按钮都存在于其自己的 div 中 并在其上方有一个图像 这是我从视图中看到的代码
  • 如何在页面刷新/加载时刷新验证码图像?

    我想强制我的网站在每次加载时刷新验证码图像 因此我有一个由 onload 事件触发的 javascript 方法 这里我有以下行 document getElementById yw0 button click Firebug 没有检测到任
  • Yii - ajax 加载的表单元素的用户端验证

    我在静态表单中使用 Yii 用户端验证 这非常棒 但我不知道如何为 ajax 加载的元素添加验证器 我有一个简单的表单小部件 我想通过 AJAX 加载更多的输入字段 对于小型 jQuery 脚本来说这不是问题 但我不知道如何为加载的元素添加
  • Yii搜索方法不起作用并且不与数据库中的数据进行比较

    您好 昨天我尝试了一种按日期时间创建搜索的方法 您可以看到链接 搜索任务 https stackoverflow com questions 23517282 yii search form by date from to criteria
  • 如何生成自定义高度的文本字段(yii textField)

    大家好 感谢您的阅读 我有这个
  • 如何在 yii 中的 CGridview 中显示相关表的数据

    我正在尝试使用 CGridView 显示结果 我有两张桌子Users and products 出口产品是维护 then 之间的多对多关系的表 并让关系名称为 myrelation public function actionSearch
  • 使用 Yii STAT 进行分组聚合?

    我有一个Yii STAT 关系 http www yiiframework com doc guide 1 1 en database arr statistical query其定义是为了提供分组SUM结果 但是当我在视图中访问关系时 t
  • yii:无法使用“through”获取图片

    我是一个yiibie 我陷入了一个问题 我制作了一个名为ngopage php在我的视图文件中 我可以从我的视图中获取数据Ngo表 但我无法得到Picture正在撰写任何评论的用户的ngo针对特定的 idngo 用户的图片位于profile
  • 使用 findAll 时 Yii AR join 不起作用

    我有两张桌子menus and lang menus My Menus模型如下 public function relations NOTE you may need to adjust the relation name and the
  • 使用“INSERT ... ON DUPLICATE KEY UPDATE”插入多条记录

    我的表结构 table marks 我的目标 我想用条件插入或更新多条记录 我目前正在通过此查询进行检查 第一步 SELECT FROM marks WHERE student 115 AND param 1 第二步 if records
  • Yii2:如何在CheckboxList中显示选中的值

    我想在 Yii 2 0 的复选框列表中显示选中的值 以下是我的代码 主阵
  • SCORM 与 PHP/Yii 的集成 [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 实际上我是新手SCORMPHP 中的实现 理论上 我在这里提问之前已经介绍了这些领域 已经看过了维基百科 http en wikipedia
  • Yii 查询时对相关模型的限制

    我遇到了极限问题 我正在使用的代码如下 model PostCategory model record model gt with array posts gt array order gt posts createTime DESC li

随机推荐

  • Android:NPE,同时尝试使用 ACTION_APPWIDGET_PICK 意图的 ActivityForResult

    我有一个问题然后试图表达意图AppWidgetManager ACTION APPWIDGET PICK正如我从日志中看到的那样 Android AppWidget 生态系统内部存在问题 那我做错了吗 请参阅下面的示例代码和堆栈跟踪 pub
  • Django 服务器代码未更新

    我的服务器上正在运行一个广泛的程序 出现错误的行如下所示 result 0 update dictionary result 0 好像 label key value 所以我收到一个错误说tuple不具有update 当我把它固定为resu
  • C语言中如何找出最接近某个数的值?

    我在 C 中有以下代码 define CONST 1200 int a 900 int b 1050 int c 1400 if A CLOSEST TO CONST do something 检查 a 是否是 a b 和 c 中最接近 C
  • 使用 VSTS 任务将 UWP 应用程序分发到应用程序中心(又名移动中心)

    我目前正在与 Microsoft 合作解决您的一个 UWP 应用程序在启动后崩溃的案例 经过对 msbuild 的大量调试后 我认识到只有当生成的 appxbundle 文件通过 Microsoft App Center 又名移动中心 分发
  • D3js SVG 打开线条显示填充伪影,如何修复?

    I just added French rivers lines to my D3js generated SVG It now display a result like 我需要在没有神器的情况下保持河流线 数据 由弧组成的 topojs
  • Powerpoint编辑如何将一个形状从一张幻灯片复制到另一张幻灯片

    我是 C 编程的新手 我只是对整个 MS Office 库感到困惑 我想从幻灯片 3 中复制文本框并将其粘贴到幻灯片 2 中 我按照找到的页面中的说明进行操作 如何在 C 中将形状从一张幻灯片复制到另一张幻灯片 presentation S
  • libz.so.1:无法打开共享对象文件

    我在 ubuntu 12 04 上遇到一个问题 usr lib ndk android ndk r8c toolchains arm linux androideabi 4 6 prebuilt linux x86 bin lib gcc
  • 将数据从服务传递到组件 --> 子组件

    简而言之 我正在使用这个Plunker我有一个场景 我必须通过从服务读取元素数据来动态创建控件 因此 当我从服务读取数据时 它是异步的 但是我必须根据从服务接收的数据创建一些具体对象并将其传递给子组件 所以这是我的逻辑 主要组件的 Html
  • 动态添加视图到Horizo​​ntal LinearLayout 超出屏幕

    我必须动态创建文本视图和编辑文本 并将其插入已在 XML 文件中声明的线性布局 水平 内 要插入的文本视图和编辑文本的数量动态变化 我正在动态创建视图并将其添加到线性布局中 但问题是 如果视图数量更多 它会移出屏幕 尽管进入下一行 我应该做
  • 使用 QComboBox 选择显示的不同小部件集

    我正在开发一个左侧有工具栏的图像查看器 由于我有很多措施要做 但希望将大部分显示用于图片并保持工具栏较薄 所以我想使用combo box1 and combo box2选择工具栏中显示的不同小部件 示例1 如果我选择measurements
  • 使用 PDO 获取 MySQL 服务器版本

    我正在 Laravel 5 中构建一个应用程序 我需要确保我的一个表能够执行全文搜索 我想检测 MySQL 版本号 确保它至少为 5 6 10 或更高版本 以便如果该条件失败 我可以在给定表的迁移文件中将引擎切换到 MyISAM 我似乎找不
  • php/Ajax - 预加载图像的最佳实践

    我编写了一个非常类似于 flickr 照片流功能的脚本 两个缩略图彼此相邻 当您单击下一个或上一个链接时 下一个 或上一个 图像会滑入 酷 目前 当页面加载时 它会加载两个图像 第一次使用 nxt prv 时 接下来的两个图像或前两个图像将
  • 证明匹配类型解析为特定的具体类型

    我正在尝试创建一个使用匹配类型的特征的实现 其中该匹配类型的右侧是预先已知的 但是 我似乎无法让编译器接受我的 证明 这对我来说很新 如果这真的很明显 我很抱歉 有人可以帮助我了解我是否 如何能够实现我想要的吗 这是一些最小的代码 Scas
  • C++ 中的移动构造函数和复制构造函数

    我的理解是 当我们从函数返回本地对象时 如果移动构造函数存在 则会调用它 但是 我遇到了调用复制构造函数的情况 如以下函数中的示例所示foo2 为什么会发生这种事 include
  • 如何更改 OpenCV 应用程序中轨迹栏的位置?

    通常在我的 OpenCV 项目中 创建轨迹栏并将其放置在窗口中后 它会水平显示在窗口底部 是否可以更改轨迹栏的位置和方向 很不幸的是 不行 cv createTrackbar 不允许更改轨迹栏的位置和方向 但是如果你安装了 Qt 你可以创建
  • 忽略 JSON.NET 数据解析期间的解析错误

    我有一个具有预定义数据结构的对象 public class A public string Id get set public bool Enabled get set public int Age get set JSON 应该是 Id
  • 对 UITableViewCell 的accessoryView 使用自定义图像并让它响应 UITableViewDelegate

    我正在使用自定义绘制的 UITableViewCell 包括与单元格相同的accessoryView 我对accessoryView的设置是通过这样的方式进行的 UIImage accessoryImage UIImage imageNam
  • 将 C# 模型从视图传递到 Javascript

    我将此 ViewModel 传递给我的视图 public class DashboardViewModel public List
  • 不使用数据透视表根据每日数据计算月平均值

    我的工作表包含两列 A 列包含以下格式的日期dd mm yyyyB 列包含每日数据 根据每日数据 我必须在没有数据透视表的情况下生成每个月的月平均值 有些日子根本不包含任何数据 我无法使用数据透视表 因为我必须在稍后阶段使用月平均值来识别每
  • 级联删除表的子记录

    我有一个包含列 id 名称和parentid 的表 模型中的关系函数 location parent gt array self BELONGS TO Location parentid location children gt array