主义:查询数组类型

时间:2018-07-31 13:51:18

标签: php symfony doctrine

Doctrine可以自动序列化简单的PHP数组值(请参见https://doctrine-orm.readthedocs.io/projects/doctrine-dbal/en/latest/reference/types.html#array-types)。

示例

<?php
use Doctrine\ORM\Mapping as ORM;

/**
 * @ORM\Table(name="my_table")
 */
class MyTable {
    /**
     * @var array
     *
     * @ORM\Column(name="myArray", type="json", nullable=true)
     */
    private $myArray;
}

数据库中的示例

|   my_array    |
|---------------|
|'["FOO","BAR"]'|

问题

是否可以通过DQL或使用查询生成器直接查询这些值而无需某种难看的正则表达式?

$queryBuilder
            ->andWhere(":searchParam IN myTable.myArray")
            ->setParameter('searchParam', 'FOO');

旁注:我总是可以包装searchParam并使用LIKE关键字进行搜索。但是,我正在寻找替代解决方案。

1 个答案:

答案 0 :(得分:1)

不,没有这种方法。 参考资料: first second