2012-05-04 3 views
3

、doctrine2を使用したいと考えていますが、私たちが提供したい機能がありますが、動作について完全に混乱しています。私たちのアプリでは、Doctrine2でダイナミックフィールドを保存する

標準的なオブジェクトにカスタムフィールドを定義できるようにしたいと考えています。したがって、これらのフィールドはオンザフライで作成され、doctrineによって知られてマッピングされているオブジェクト定義の一部ではありません。

nosql(mongodbまたはamazon dynamodb)を使用してこのデータの一部を保存することを考えましたが、私たちのコアオブジェクトを処理するためにdoctrineを使用したいので、これを達成するためにdoctrineの領域内に滞在したいと考えています。このデータを格納するためにそれを超えて拡張する必要はありません。

複雑なオブジェクトをシリアル化/シリアル化解除するためのdoctrineの機能を使用していましたが、カスタムフィールド名とその値をオブジェクトの余分なプロパティとしてハッシュしたようなものでしたが、私たちがこれを可能にしたければ、これらのフィールドを検索する機能...

doctrine2または任意のormバリアントで誰でもこれをしようとしましたか?

答えて

2

Doctrine ODM(Doctrine 2)を使用することを検討できますが、NoSQLの場合は少なくともMongoDBをサポートしていると思います。

もう1つの方法は、あなたが言ったようにシリアライゼーションを使うことです。検索に関してあまり心配するべきではないでしょう。別の全文検索エンジン(Solr、ElasticSearchなど)を使用することをお勧めします。これは、検索とSQLフルテキスト検索の多用性とパフォーマンスを提供します。

第3に、NoSQLとDoctrineを併用することができます。この場合、クエリクラスをサービスクラスなどに抽象化して、Doctrineを使用してSQL DBからデータを照会し、残りのデータを照会することができます。

最後に、キー値テーブルの使用を検討できます。 1つの列はキーを表し、別の列は値を表します。

+0

これらの機能はまだ完全に実装されていませんが、問題を処理する正当な方法のようです。 – jzimmerman2011

関連する問題