ResultSetMapping addScalarResult 关联数组

Posted

技术标签:

【中文标题】ResultSetMapping addScalarResult 关联数组【英文标题】:ResultSetMapping addScalarResult associative array 【发布时间】:2016-04-10 03:57:40 【问题描述】:

在我的 Symfony2 项目中,我使用 Doctrine createNativeQuery,我想获得一个关联数组。

这是我的代码

$rsm = new ResultSetMapping;
$rsm->addScalarResult('id', 'id');
$rsm->addScalarResult('name', 'name');
$rsm->addScalarResult('phone_one', 'phoneOne');
$rsm->addScalarResult('phone_two', 'phoneTwo');

我有这个结果:

array:2 [
    0 => array:4 [
        "id" => "975"
        "name" => "one name"
        "phoneOne" => "122345556"
        "phoneTwo" => "345566789"
    ]
  1 => array:4 [
    0 => array:4 [
        "id" => "976"
        "name" => "two name"
        "phoneOne" => "122345556"
        "phoneTwo" => "345566789"
    ]
]

这个结果可能吗?

array:2 [
    0 => array:4 [
        "id" => "975"
        "name" => "one name"
        "phones" => [
            "phoneOne" => "122345556"
            "phoneTwo" => "345566789"
        ]
    ]
  1 => array:4 [
    0 => array:4 [
        "id" => "976"
        "name" => "two name"
        "phones" => [
            "phoneOne" => "122345556"
            "phoneTwo" => "345566789"
        ]
    ]
]

非常感谢

【问题讨论】:

为什么需要使用这个简单集合的本机查询?我真的很好奇。 我想一次性解决所有问题。 :) 【参考方案1】:

如果这是您想要的结果,为什么不为用户到电话创建一个 OneToMany?我强烈建议你这样做。

【讨论】:

以上是关于ResultSetMapping addScalarResult 关联数组的主要内容,如果未能解决你的问题,请参考以下文章

symfony2 / 学说:如何将 ResultSetMapping 与计数一起使用

Doctrine ResultSetMapping(Builder) 没有显示任何结果

更改分组时Hibernate中查询的不同返回类型

Spring Pageable NamedNativeQuery

Doctrine 2.0 结果集映射使用不正确?