2015-02-06 21 views
0

(我是初學者)爲什麼命令生成:doctrine:實體不會在這些類中生成方法? (逆向工程)

我想爲相關模型(OneToMany和ManyToOne)自動生成方法。我正在做下面的文檔http://symfony.com/doc/current/cookbook/doctrine/reverse_engineering.html

我在模型中添加了下面的屬性和註解(我在這裏只給出ManyToOne相關的兩個類作爲例子)並運行generate:doctrine:entities命令,沒有錯誤,沒有結果。我期望的方法像__construct和AddXXX()在Kategoria類與OnoToMany關係。

這是我添加到Kategoria類的片段。

/** 
* @ORM\OneToMany(targetEntity="Ksiazka", mappedBy="kategoria") 
*/ 
protected $ksiazki; 

這是與OneToMany關係的整個Kategoria類。

#Kategoria.php 
<?php 

namespace AppBundle\Entity; 

use Doctrine\ORM\Mapping as ORM; 

/** 
* Kategoria 
* 
* @ORM\Table(name="kategoria") 
* @ORM\Entity 
*/ 
class Kategoria 
{ 
    /** 
    * @var string 
    * 
    * @ORM\Column(name="nazwa", type="string", length=45, nullable=true) 
    */ 
    private $nazwa; 

    /** 
    * @var integer 
    * 
    * @ORM\Column(name="idKategoria", type="integer") 
    * @ORM\Id 
    * @ORM\GeneratedValue(strategy="IDENTITY") 
    */ 
    private $idkategoria; 

    #THESE NEXT 4 LINES I ADDED 
    /** 
    * @ORM\OneToMany(targetEntity="Ksiazka", mappedBy="kategoria") 
    */ 
    protected $ksiazki; 

    /** 
    * Set nazwa 
    * 
    * @param string $nazwa 
    * @return Kategoria 
    */ 
    public function setNazwa($nazwa) 
    { 
     $this->nazwa = $nazwa; 

     return $this; 
    } 

    /** 
    * Get nazwa 
    * 
    * @return string 
    */ 
    public function getNazwa() 
    { 
     return $this->nazwa; 
    } 

    /** 
    * Get idkategoria 
    * 
    * @return integer 
    */ 
    public function getIdkategoria() 
    { 
     return $this->idkategoria; 
    } 
} 

這是我在Ksiazka類中修改的片段。我添加了, inversedBy="ksiazki"

/** 
* @var \AppBundle\Entity\Kategoria 
* 
* @ORM\ManyToOne(targetEntity="AppBundle\Entity\Kategoria", inversedBy="ksiazki") 
* @ORM\JoinColumns({ 
* @ORM\JoinColumn(name="idKategoria", referencedColumnName="idKategoria") 
* }) 
*/ 
private $idkategoria; 

這是與ManyToOne關係的整個Ksiazka類。

<?php 

namespace AppBundle\Entity; 

use Doctrine\ORM\Mapping as ORM; 

/** 
* Ksiazka 
* 
* @ORM\Table(name="ksiazka", indexes={@ORM\Index(name="idKategoria_idx", columns={"idKategoria"})}) 
* @ORM\Entity 
*/ 
class Ksiazka 
{ 
    /** 
    * @var string 
    * 
    * @ORM\Column(name="autor", type="string", length=45, nullable=true) 
    */ 
    private $autor; 

    /** 
    * @var string 
    * 
    * @ORM\Column(name="opis", type="text", length=65535, nullable=true) 
    */ 
    private $opis; 

    /** 
    * @var string 
    * 
    * @ORM\Column(name="cena", type="decimal", precision=10, scale=2, nullable=true) 
    */ 
    private $cena; 

    /** 
    * @var string 
    * 
    * @ORM\Column(name="obrazek", type="string", length=45, nullable=true) 
    */ 
    private $obrazek; 

    /** 
    * @var string 
    * 
    * @ORM\Column(name="wydawnictwo", type="string", length=45, nullable=true) 
    */ 
    private $wydawnictwo; 

    /** 
    * @var string 
    * 
    * @ORM\Column(name="rokWydania", type="string", length=45, nullable=true) 
    */ 
    private $rokwydania; 

    /** 
    * @var string 
    * 
    * @ORM\Column(name="isbn", type="string", length=45) 
    * @ORM\Id 
    * @ORM\GeneratedValue(strategy="IDENTITY") 
    */ 
    private $isbn; 

// Było. Automatycznie wygenerowane bez inversedBy. 
// /** 
//  * @var \AppBundle\Entity\Kategoria 
//  * 
//  * @ORM\ManyToOne(targetEntity="AppBundle\Entity\Kategoria") 
//  * @ORM\JoinColumns({ 
//  * @ORM\JoinColumn(name="idKategoria", referencedColumnName="idKategoria") 
//  * }) 
//  */ 
// private $idkategoria; 

    /** 
    * @var \AppBundle\Entity\Kategoria 
    * 
    * @ORM\ManyToOne(targetEntity="AppBundle\Entity\Kategoria", inversedBy="ksiazki") 
    * @ORM\JoinColumns({ 
    * @ORM\JoinColumn(name="idKategoria", referencedColumnName="idKategoria") 
    * }) 
    */ 
    private $idkategoria; 

    /** 
    * @ORM\OneToMany(targetEntity="Zamowienie_Produkt", mappedBy="ksiazka") 
    */ 
    protected $zamowienie_produkty; 


    /** 
    * Set autor 
    * 
    * @param string $autor 
    * @return Ksiazka 
    */ 
    public function setAutor($autor) 
    { 
     $this->autor = $autor; 

     return $this; 
    } 

    /** 
    * Get autor 
    * 
    * @return string 
    */ 
    public function getAutor() 
    { 
     return $this->autor; 
    } 

    /** 
    * Set opis 
    * 
    * @param string $opis 
    * @return Ksiazka 
    */ 
    public function setOpis($opis) 
    { 
     $this->opis = $opis; 

     return $this; 
    } 

    /** 
    * Get opis 
    * 
    * @return string 
    */ 
    public function getOpis() 
    { 
     return $this->opis; 
    } 

    /** 
    * Set cena 
    * 
    * @param string $cena 
    * @return Ksiazka 
    */ 
    public function setCena($cena) 
    { 
     $this->cena = $cena; 

     return $this; 
    } 

    /** 
    * Get cena 
    * 
    * @return string 
    */ 
    public function getCena() 
    { 
     return $this->cena; 
    } 

    /** 
    * Set obrazek 
    * 
    * @param string $obrazek 
    * @return Ksiazka 
    */ 
    public function setObrazek($obrazek) 
    { 
     $this->obrazek = $obrazek; 

     return $this; 
    } 

    /** 
    * Get obrazek 
    * 
    * @return string 
    */ 
    public function getObrazek() 
    { 
     return $this->obrazek; 
    } 

    /** 
    * Set wydawnictwo 
    * 
    * @param string $wydawnictwo 
    * @return Ksiazka 
    */ 
    public function setWydawnictwo($wydawnictwo) 
    { 
     $this->wydawnictwo = $wydawnictwo; 

     return $this; 
    } 

    /** 
    * Get wydawnictwo 
    * 
    * @return string 
    */ 
    public function getWydawnictwo() 
    { 
     return $this->wydawnictwo; 
    } 

    /** 
    * Set rokwydania 
    * 
    * @param string $rokwydania 
    * @return Ksiazka 
    */ 
    public function setRokwydania($rokwydania) 
    { 
     $this->rokwydania = $rokwydania; 

     return $this; 
    } 

    /** 
    * Get rokwydania 
    * 
    * @return string 
    */ 
    public function getRokwydania() 
    { 
     return $this->rokwydania; 
    } 

    /** 
    * Get isbn 
    * 
    * @return string 
    */ 
    public function getIsbn() 
    { 
     return $this->isbn; 
    } 

    /** 
    * Set idkategoria 
    * 
    * @param \AppBundle\Entity\Kategoria $idkategoria 
    * @return Ksiazka 
    */ 
    public function setIdkategoria(\AppBundle\Entity\Kategoria $idkategoria = null) 
    { 
     $this->idkategoria = $idkategoria; 

     return $this; 
    } 

    /** 
    * Get idkategoria 
    * 
    * @return \AppBundle\Entity\Kategoria 
    */ 
    public function getIdkategoria() 
    { 
     return $this->idkategoria; 
    } 



} 

回答

0

嘗試刪除實體類中的所有方法。然後運行doctrine:generate:entities命令。如果沒有幫助,請嘗試在分析器中查找映射錯誤。希望它有幫助。

相關問題