Bitrix D7 ORM 技能面向 Bitrix Framework 的数据库访问层,基线为 main 23.0+,已验证版本为 main 26.800.0。它把 ORM 使用知识拆分为若干规则文档,按具体任务指引开发者查阅对应内容。
用途 该技能用于指导在 Bitrix D7 中正确使用 ORM 进行数据读取、写入、集合操作以及事件与缓存处理,帮助开发者遵循框架约定,避免常见误用。
主要能力 技能覆盖以下主题,并分别对应规则文件:
- 数据表(tablet)、字段类型、ArrayField、数据修饰符、关系、UF:rules/tablet-map.md
- query()、过滤器、运行时字段、DISTINCT、分页:rules/reading.md
- 集合:save、remove、关系、find/filter、键:rules/collections.md
- add/update/delete、批量、原子自增、merge、deleteByFilter:rules/writing.md
- ORM 事件、查询缓存、查询中的用户输入:rules/events-cache-security.md
使用方式 开发者按任务类型查阅上述规则文件,并遵循技能列出的不变量:
- 命名空间使用 Bitrix\Main\ORM*。Bitrix\Main\Entity* 是遗留别名列表(main/include/compatibility.php),不要在新代码中书写,也不要在同一文件中混用两者。
- 使用 XxxTable::query() 构建查询,不要使用 new Query(XxxTable::getEntity()),因为 query() 会遵循数据表的 getQueryClass()。
- add/update/delete/save() 会运行事件并调用 cleanCache()。MergeTrait::merge() 与 deleteByFilter() 不触发事件;原生 SQL 同样会使缓存失效。
- 集合没有 delete() 方法;remove() 仅在内存中解除关联。
- 未经白名单,绝不将请求数据传入 select、order、group、runtime 或 ExpressionField。
适用场景 适用于在 Bitrix Framework 项目中进行 D7 ORM 相关的数据建模、查询构建、集合操作、批量写入以及事件与缓存处理等开发工作。
限制 资料未提供该技能的安装命令、收费方式、价格、平台支持范围或具体使用效果等信息,暂未提供。