关于 bitrix-orm
面向 Bitrix 开发者的 D7 ORM 技能,整理查询、集合、写入及缓存安全规则。强调使用现代 ORM 命名空间和避免不安全的用户输入。
主要功能
- 01查询与字段映射规则
- 02集合操作指南
- 03增删改与批量写入
- 04事件、缓存与安全约束
适用场景
- 01编写 Bitrix D7 ORM 查询
- 02实现集合保存与关联操作
- 03审查写入及缓存行为
- 04避免请求数据注入查询结构
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ bxmaximum/ bitrix-framework-skills --skill bitrix-orm安装后在 Claude Code 中输入/bitrix-orm确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
rules/collections.mdevents-cache-security.mdreading.mdtablet-map.mdwriting.md详细介绍
Bitrix D7 ORM
基线:main 23.0+ · 已验证:main 26.800.0
| 任务 | 阅读 |
|---|---|
| Tablet、字段类型、ArrayField、数据修饰符、关系、UF | rules/tablet-map.md |
query()、筛选器、运行时字段、DISTINCT、分页 | rules/reading.md |
| 集合:保存、移除、关系、查找/筛选、键 | rules/collections.md |
| add/update/delete、批量操作、原子递增、合并、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()会遵循 tablet 的getQueryClass()。 add/update/delete/save()会触发事件并调用cleanCache()。MergeTrait::merge()和deleteByFilter()不会触发事件;原始 SQL 也会导致缓存过期。- 集合没有
delete();remove()只会在内存中解除关联。 - 未经白名单校验,绝不要将请求数据传入
select、order、group、runtime或ExpressionField。
评论
支持 Markdown