bitrix-orm について
Bitrix の D7 ORM を使う開発者向けのリファレンススキルです。クエリ、コレクション、書き込み、キャッシュとセキュリティの規則を整理し、新しい名前空間やユーザー入力の扱い方も示します。
主な機能
- 01クエリとフィールドマッピングの規則
- 02コレクション操作の指針
- 03CRUD と一括書き込み
- 04イベント、キャッシュ、セキュリティの制約
活用シーン
- 01Bitrix 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
| タスク | 参照 |
|---|---|
| タブレット、フィールド型、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)です。新しいコードでは使用せず、1 つのファイル内で両方を混在させないでください。 - クエリーは
XxxTable::query()で構築し、new Query(XxxTable::getEntity())は使用しないでください。query()はタブレットのgetQueryClass()を尊重します。 add/update/delete/save()はイベントを実行し、cleanCache()を呼び出します。MergeTrait::merge()とdeleteByFilter()はイベントを発火しません。生の SQL もキャッシュを古いままにします。- コレクションに
delete()はありません。remove()はメモリ上で関連付けを解除するだけです。 - ホワイトリストなしで、リクエストデータを
select、order、group、runtime、ExpressionFieldに渡さないでください。
コメント
Markdown 対応