Orm
Orm は Object
Relational Mapperの略です。 これは2つのことを行います。: それは、オブジェクトにデータベースのテーブルの行をマップし、それはあなたがそれらのオブジェクト間の関係を確立することができます。
それは密接にActive Record
Active Record Patternに従いますが、他のシステムで影響を与えたりもします。
はじめに
他の多くのActiveRecordの実装とは異なり、他の多くのActiveRecordの実装とは異なり、小型で高速、さらに死ぬほど簡単に使えます。 それは簡単に、あなたのデータベースを項目を作成したり更新したり削除したりすることができるでしょう。 あなたのために、これらがすべてのハードワークを行います。
インストール
ORMパッケージは、ダウンロードされたFuelに含まれています。あなたの設定を有効にするだけです。
'packages' => array(
'orm',
),
トラブルシューティング
一般的な問題とよくある質問。
リレーション/外部キーが保存されていません。(1)
リレーションシップの間違った型を使用している場合に、これは最も頻繁に起こります。 特に Has-one と Belongs-to に混ざってしまいがちです。 ドキュメントの例を再読し、あなたが正しくリレーションタイプを使用していることと、すべてが正しく設定されているかどうかを確認をしてください。
オブジェクトを関連付けることができません (2)
あなたのモデルは Orm\Model
を継承し、Model_Crud
を継承していない事を確認してください。
package/moduleの私の関連するモデルが見つからないという例外を取得しました。
パッケージまたはモジュールがFuelによってロードされていることを確認してください。それ以外のオートローダーは、クラスを見つけることができません。
そして、"model_to"
と関連するモデルを設定するときは完全なクラス名を設定してください 。
これは、あなたがその空間にいる場合でも名前空間が含まれています。
文字列内のクラス名は、常にグローバルコンテキストから取得されます。現在の名前空間コンテキストは関係ありません。
Orm\Frozenオブジェクトの例外を取得しました。
データベースに保存されている間オブジェクトを編集することはできません。
それは循環保存と既に保存されたオブジェクトの再保存を防ぎます。
これは通常の使用時に起こるべきではなく、
ほとんどの場合関係の障害のある構成が原因で発生します。
時おり、これはあなたがstableリリース(安定版)を使用していない場合は特に、バグによって引き起こされる場合があります。