2016-02-29 61 views
0

findAll()找到一個結果在我的倉庫:學說2的findAll返回僅有1個結果

$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

爲的findAll方法調用看起來是正確的,只是一些很基本的東西:你可能在「subtipo」表超過1項?你如何檢查所得到的集合的長度? – ejuhjav

回答

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(); 
+0

它的作品。非常感謝! –