使用Native SQL的Doctrine查询始终返回空数组

时间:2018-02-16 15:08:51

标签: php symfony doctrine-orm

我使用运行某些查询的方法创建服务,我想使用doctrine Native SQL,但无论我使用哪个查询,它总是返回一个空数组。有些东西我不见了?

来自服务MonthVacancySchedule的方法:

public function getTotalVacanciesByUnits()
{

  $rsm = new ResultSetMapping();

  $sql = 'SELECT nome_procedimento FROM programacao';
  $query = $this->emi->createNativeQuery($sql, $rsm);
  $units = $query->getResult();

  return $units;
}

我使用该服务的控制器:

/**
  * @Route("/units", name="units")
  */
  public function showTotalVacanciesByUnits( MonthVacancySchedule $mvs )
  {

    $units = $mvs->getTotalVacanciesByUnits();

    # Always return empty array.
    var_dump($units);

    return $units;
  }

1 个答案:

答案 0 :(得分:6)

那是因为你问Doctrine是否为空数组。 在public function getTotalVacanciesByUnits() { $rsm = new ResultSetMapping(); $rsm->addScalarResult('nome_procedimento', 'nome_procedimento'); $sql = 'SELECT nome_procedimento FROM programacao'; $query = $this->emi->createNativeQuery($sql, $rsm); $units = $query->getResult(); return $units; } 对象中描述您需要的字段。例如

.text-that-needs-wrapping {
    overflow-wrap: break-word;
    word-wrap: break-word;
    -ms-word-break: break-all;
    word-break: break-word;
    -ms-hyphens: auto;
    -moz-hyphens: auto;
    -webkit-hyphens: auto;
    hyphens: auto;
}

http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/native-sql.html#scalar-results