About bitrix-orm
A reference skill for Bitrix developers using the D7 ORM. It organizes query, collection, write, and cache-security rules, with guidance on modern namespaces and handling user input.
Key features
- 01Query and field mapping rules
- 02Collection operation guidance
- 03CRUD and batch writes
- 04Event, cache, and security constraints
Use cases
- 01Writing Bitrix D7 ORM queries
- 02Implementing collection saves and relations
- 03Reviewing write and cache behavior
- 04Preventing request data in query structures
Install
Copy the command and run it in a terminal.
$
npx skills add https:/ / github.com/ bxmaximum/ bitrix-framework-skills --skill bitrix-ormAfter installing, type/bitrix-ormin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
rules/collections.mdevents-cache-security.mdreading.mdtablet-map.mdwriting.mdDetails
From the project READMEBitrix D7 ORM
Baseline: main 23.0+ · Verified: main 26.800.0
| Task | Read |
|---|---|
| Tablet, field types, ArrayField, data modifiers, relations, UF | rules/tablet-map.md |
query(), filters, runtime fields, DISTINCT, pagination | rules/reading.md |
| Collections: save, remove, relations, find/filter, keys | rules/collections.md |
| add/update/delete, batch, atomic increments, merge, deleteByFilter | rules/writing.md |
| ORM events, query cache, user input in queries | rules/events-cache-security.md |
Invariants
- Namespace
Bitrix\Main\ORM\*.Bitrix\Main\Entity\*is a legacy alias list (main/include/compatibility.php): don't write it in new code or mix both in one file. - Build queries with
XxxTable::query(), nevernew Query(XxxTable::getEntity()):query()honours the tablet'sgetQueryClass(). add/update/delete/save()run events andcleanCache().MergeTrait::merge()anddeleteByFilter()fire no events; raw SQL also leaves the cache stale.- A collection has no
delete();remove()only detaches in memory. - Never pass request data into
select,order,group,runtimeorExpressionFieldwithout a whitelist.
Comments
Markdown supported