2016-11-22 50 views
0

關於如何生成Doctrine存儲庫,我遵循this tutorialsymfony教條存儲庫生成器創建錯誤的類

我的實體Event

namespace AppBundle\Entity; 

use Doctrine\ORM\Mapping as ORM; 
use JMS\Serializer\Annotation as Serializer; 
use Symfony\Component\HttpKernel\Exception\HttpException; 
use Symfony\Component\Validator\Constraints as Assert; 
use Gedmo\Mapping\Annotation as Gedmo; 

/** 
* Class Event 
* @package AppBundle\Entity 
* @ORM\Entity(repositoryClass="AppBundle\Repository\EventRepository") 
* @ORM\Table(name="event") 
*/ 
class Event 
{ 
    /** 
    * @ORM\Column(type="guid") 
    * @ORM\Id 
    * @ORM\GeneratedValue(strategy="UUID") 
    */ 
    private $uuid; 

    /** 
    * @ORM\Column(type="string", length=100) 
    * @Assert\NotBlank(message="parameter ""name"" should not be blank") 
    */ 
    private $name; 

    /** 
    * @Assert\NotBlank(message="parameter ""description"" should not be blank") 
    * @ORM\Column(type="text") 
    */ 
    private $description; 

    /** 
    * @Assert\NotBlank(message="parameter ""startDate"" should not be blank") 
    * @Assert\DateTime(message="parameter ""startDate"" expects format of Y-m-d H:i:s") 
    * @ORM\Column(type="datetime") 
    * @Serializer\Type("DateTime<'Y-m-d H:i:s'>") 
    */ 
    private $startDate; 

    /** 
    * @Assert\NotBlank(message="parameter ""endDate"" should not be blank") 
    * @Assert\DateTime(message="parameter ""endDate"" expects format of Y-m-d H:i:s") 
    * @ORM\Column(type="datetime") 
    * @Serializer\Type("DateTime<'Y-m-d H:i:s'>") 
    */ 
    private $endDate; 

    // getters and setters left out 

} 

按照上面的教程,我跑

php bin/console doctrine:generate:entities AppBundle 

我的期望是它會產生一個repository類EventRepository。相反,它創建了這個:

namespace AppBundle; 

use Symfony\Component\HttpKernel\Bundle\Bundle; 

class AppBundle extends Bundle 
{ 
} 

我以爲生成器會檢查repositoryClass註釋以確定要生成哪個類。我試過用

php bin/console doctrine:generate:entities AppBundle:Event 

改爲。不工作。

我知道我可以自己寫這個類,我只是想知道我使用的是生成器錯誤還是隻是沒有獲取文檔。

+0

試試這個命令: php app/console doctrine:generate:entities AppBundle:Event –

回答

2

您可以在這裏找到答案:

Link to answer

如果你已經加入 repositoryClass映射之前已經生成的實體類,你必須創建你自己的類。幸運的是,這很容易。只需在您的軟件包的 存儲庫目錄中創建類,並確保它可以擴展爲Doctrine \ ORM \ EntityRepository 。一旦你創建了這個類,你可以用 添加任何方法來查詢你的實體。