【问题标题】:Which PHP ORM with built in array type (for PostgreSQL)? [closed]哪个 PHP ORM 具有内置数组类型(对于 PostgreSQL)? [关闭]
【发布时间】:2017-03-27 09:01:58
【问题描述】:

我想在基于 Symfony 3 的项目中使用 PostgreSQL 作为主要 RDB。我计划广泛使用 PostgreSQL 数组类型(存储数组、查询数组),并可能使用其他 PostgreSQL 特定功能。

哪种 ORM 最适合它?我看到 Doctrine 2 具有“数组类型”,但它将元素存储在文本字段中。我想为 ORM 使用一些现有的 ORM / 扩展,而不是自己创建它(比如为 Doctrine 创建一些映射)。

支持数组运算符的查询生成器将是一大优势。

【问题讨论】:

    标签: php arrays postgresql symfony doctrine-orm


    【解决方案1】:

    从 Doctrine 2.6 开始,您可以使用 json_array 类型(请参阅http://doctrine-orm.readthedocs.io/projects/doctrine-dbal/en/latest/reference/types.html#mapping-matrix),然后您可以使用本机查询功能进行查询。

    还有一个开源 Symfony Bundle,如果需要在旧版本的 Doctrine 上使用,它可以支持此功能 https://github.com/boldtrn/JsonbBundle。

    我知道您专门询问了 Postgres 数组类型,但根据我的理解,以 JSON 类型存储为数组非常相似。我很想知道这是否有任何缺点?

    【讨论】:

    • 我想使用数组类型,因为这样我可以使用专用索引和运算符来查询(stackoverflow.com/questions/4058731/…)。它们非常好,可以经常用来代替 SOLR/ElasticSearch/Sphinx 等额外的搜索引擎。
    • 是的,这也可以使用 JSON 类型完成。我知道数组类型在某些情况下会有更好的性能,但 JSON 类型也可以被索引和查询。 Postgres 全文搜索也可以与它们一起使用。我不知道对 Postgres 有更好支持的 ORM
    猜你喜欢
    • 1970-01-01
    • 2011-03-27
    • 2016-10-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-15
    • 1970-01-01
    • 2012-08-21
    • 2011-02-25
    相关资源
    最近更新 更多