Symfony2 - 如何在findBy中搜索json_array字段

sen*_*enK 8 php json symfony doctrine-orm

假设我有一组数据联系人,

$cont = array("123-123-123","sample@sample.com");
Run Code Online (Sandbox Code Playgroud)

我将其存储在symfony2 doctrine字段中作为json_array类型

$person->setContacts($cont); //Which automatically converts into json
Run Code Online (Sandbox Code Playgroud)

现在我的问题是,在通过联系人搜索时,

$cont['contacts'] = array("123-123-123","sample@sample.com");
or
$cont['contacts'] = json_encode(array("123-123-123","sample@sample.com"));
$person->findBy($cont);
Run Code Online (Sandbox Code Playgroud)

没有产生正确的结果,是否有任何其他方法来按json_array字段检索数据,对不起,如果问题太基础.

Zhu*_*ukV -2

通过 JSON 搜索 - 对于 SQL 数据库来说是个坏主意。您可以创建另一个字段(电话和电子邮件)。

绑定到 PDO 之前的所有值,在 DBAL\Types 中自动转换,并且您必须将实际数据设置为参数(对象、数组等...)。

$cont['contacts'] = array("123-123-123","sample@sample.com");
$person->findBy($cont);
Run Code Online (Sandbox Code Playgroud)

这是一个工作代码。您可以查看探查器以查看完整的 SQL 查询。