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

Luc*_*oli 3 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;
}
Run Code Online (Sandbox Code Playgroud)

我使用该服务的控制器:

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

    $units = $mvs->getTotalVacanciesByUnits();

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

    return $units;
  }
Run Code Online (Sandbox Code Playgroud)

小智 8

那是因为你问Doctrine是否为空数组.描述rsm对象中需要的字段.例如

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;
}
Run Code Online (Sandbox Code Playgroud)

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