symfony doctrine repository生成器创建错误的类

时间:2016-11-22 07:13:54

标签: symfony doctrine

我关注如何生成Doctrine Repositories this tutorial

我的实体Configuration.GetConnectionString("ConnectionStrings")).

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 。相反,它创造了这个:

EventRepository

我认为生成器会检查namespace AppBundle; use Symfony\Component\HttpKernel\Bundle\Bundle; class AppBundle extends Bundle { } 注释以确定要生成哪个类。我尝试使用

repositoryClass

代替。不工作。

我知道我可以自己编写课程,我只是想知道我是否使用了生成器错误或只是没有得到文档。

1 个答案:

答案 0 :(得分:2)

你可以在这里找到答案:

Link to answer

  

如果您在添加之前已经生成了实体类   repositoryClass映射,您必须自己创建类。   幸运的是,这很容易。只需在中创建类   捆绑包的存储库目录,并确保它扩展   学说\ ORM \ EntityRepository。一旦你创建了课程,你就可以   添加任何方法来查询您的实体。