findAll()
在我的存储库中找到一个结果:
$retorno[] = $bd->getEntityManager()->getRepository($classname)->findAll();
实体类:
<?php
use Doctrine\ORM\Mapping as ORM;
/**
* Subtipo
*
* @ORM\Table(name="subtipo", indexes={@ORM\Index(name="fk_Subtipo_Tipo1_idx", columns={"Tipo_id"})})
* @ORM\Entity
*/
class Subtipo
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer", nullable=false)
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
private $id;
/**
* @var string
*
* @ORM\Column(name="nome", type="string", length=45, nullable=false)
*/
private $nome;
/**
* @var \Tipo
*
* @ORM\ManyToOne(targetEntity="Tipo")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="Tipo_id", referencedColumnName="id")
* })
*/
private $tipo;
/**
* Get id
*
* @return integer
*/
public function getId()
{
return $this->id;
}
/**
* Set nome
*
* @param string $nome
*
* @return Subtipo
*/
public function setNome($nome)
{
$this->nome = $nome;
return $this;
}
/**
* Get nome
*
* @return string
*/
public function getNome()
{
return $this->nome;
}
/**
* Set tipo
*
* @param \Tipo $tipo
*
* @return Subtipo
*/
public function setTipo(\Tipo $tipo = null)
{
$this->tipo = $tipo;
return $this;
}
/**
* Get tipo
*
* @return \Tipo
*/
public function getTipo()
{
return $this->tipo;
}
}
有人可以帮忙吗?
答案 0 :(得分:2)
如果你这样做
$retorno[] = $bd->getEntityManager()->getRepository($classname)->findAll();
^----- this
您正在创建一个数组数组(或ArrayCollection
数组),因此,如果您检查$retorno[]
的长度,这将导致1个元素包含实际结果。
像
这样的东西$retorno = [
0 => [
0 => 'first real result',
1 => 'second real result',
[...]
n => 'nth real result'
]
];
只需使用此语法
$retorno = $bd->getEntityManager()->getRepository($classname)->findAll();