2017-03-27 2 views
0

Symfony 3ベースのプロジェクトでメインRDBとしてPostgreSQLを使用したいと思います。私はPostgreSQL 配列タイプ(配列の格納、配列の問い合わせ)、および場合によっては他のPostgreSQL固有の機能を広範囲に使用する予定です。配列型(PostgreSQL用)を持つPHP ORMはどれですか?

どのORMが最適ですか? Doctrine 2には「配列型」がありますが、要素をテキストフィールドに格納しています。 ORMの既存のORM /拡張機能を使用したいと思います。Doctrine用のマッピングを作成するなど、自分では作成しません。

配列演算子をサポートするクエリビルダは大きなプラスになります。

答えて

1

Doctrine 2.6から、json_array型(http://doctrine-orm.readthedocs.io/projects/doctrine-dbal/en/latest/reference/types.html#mapping-matrixを参照)を使用すると、ネイティブクエリ機能を使用してクエリできます。

Doctrineの古いバージョンを使用する必要がある場合は、この機能をバックポートに移植するオープンソースのSymfony Bundleもあります。https://github.com/boldtrn/JsonbBundle

私はPostgresの配列型について特に尋ねましたが、JSON型の配列として格納するのは私の理解と非常によく似ています。私はこれに何らかの短所があるかどうかを知ることに興味がありますか?

+0

配列型を使用したいのは、専用のインデックスと演算子を使用してクエリを実行できるからです(http://stackoverflow.com/questions/4058731/can-postgresql-index-array-columns)。彼らはかなり良いとSOLR/ElasticSearch /スフィンクスのような追加の検索エンジンの代わりに頻繁に使用することができます。 –

+0

ええ、これはJSONタイプでも多く実行できます。配列型の方がパフォーマンスが良いことがわかりますが、JSON型もインデックスを作成してクエリできますPostgresのフルテキスト検索は、それらと一緒に使用することもできます。 Postgresのサポートが向上したORMを認識していない –

関連する問題