【问题标题】:How change array result hierarchy in Doctrine results with joined tables如何使用联接表更改 Doctrine 结果中的数组结果层次结构
【发布时间】:2019-11-04 11:15:42
【问题描述】:

我的连接查询:(在实体中不是关系)

    $query = $this
        ->createQueryBuilder('f')
        ->select('f');

    $query->leftJoin(IntranetType::class, 'it', 'WITH', 'it.flyerLayoutType = f.flyerLayout');
    $query->addSelect('it');

    $query->orderBy('f.filename');
    $query->addOrderBy('it.flyerLayoutType');

    // $flyers = $query->getQuery()->getArrayResult(); <-- fist try
    $flyers = $query->getQuery()->getResult(Query::HYDRATE_ARRAY);

结果数组的格式为:

array(149) {
[0]=>
array(9) {
 data from table with alias f
}
[1]=>
array(4) {
 data from table with alias it
}
[2]=>
array(9) {
 data from table with alias f
}
[3]=>
array(4) {
 data from table with alias it
}

但我需要这样的格式:

array(149) {
[0]=>
array(9) {
 data from table with alias f
  ['joined table']=>
  array(4) {
   data from table with alias it
  }
}

[1]=>
array(9) {
 data from table with alias f
  ['joined table']=>
  array(4) {
   data from table with alias it
  }
}

只是层次结构...数组中的一个键 = 一个传单(一项)和连接数据...

【问题讨论】:

    标签: php sql symfony multidimensional-array doctrine


    【解决方案1】:

    看来您只需从 getResult() 中删除参数(或将其替换为默认的 ::HYDRATE_OBJECT)。

    键'joined table'不会出现,但你会根据你的实体获得数据结构。

    【讨论】:

    • 不...而不是多维数组我有对象数组...
    猜你喜欢
    • 1970-01-01
    • 2018-08-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-07
    • 1970-01-01
    相关资源
    最近更新 更多