2011-12-18 7 views
0

の深い関係のためにインスタンス化されていません。オブジェクトは、この例からCodeIgniterのDataMapperのORM

http://datamapper.wanwizard.eu/pages/getadvanced.html#Deep.Relationship.Include

あなたはそれが言うことを見ることができます:このとき、深い関係がinstatiationをサポートしていません。

したがって、グループモデルで定義されたメソッドがいくつかある場合は、手動でフィールドデータを収集し、グループオブジェクトを自分でインスタンス化しない限り、それを使用することはできません。

私はなぜそれがサポートされていないのか興味があります。これはORMの達成が非常に難しいですか?

また、簡単な回避策があるか、この問題をどのように解決したかを知りたいと思います。

+0

@Lion申し訳ありません。私は長い間そのように訪問していないので、私はそのルールを忘れていました。 – bobo

答えて

1

include_related()を使用するときに関連オブジェクトをインスタンス化できますが、(include_related( 'groups/users/posts/comments')のような)深いリレーションをインスタンス化することはできません。

DataMapperは長年にわたり使用されており、現行のv1.xコードベースは引き続きCodeIgniter 1.7をサポートしています。これはかなりの量のPHP4レガシーコードを含んでいることを意味します。

私はこの問題を解決するDataMapper v2を設計しています。

+0

ありがとうございます。あなたが病気から回復したことを願って:) – bobo

関連する問題