我关注如何生成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
代替。不工作。
我知道我可以自己编写课程,我只是想知道我是否使用了生成器错误或只是没有得到文档。
答案 0 :(得分:2)
你可以在这里找到答案:
如果您在添加之前已经生成了实体类 repositoryClass映射,您必须自己创建类。 幸运的是,这很容易。只需在中创建类 捆绑包的存储库目录,并确保它扩展 学说\ ORM \ EntityRepository。一旦你创建了课程,你就可以 添加任何方法来查询您的实体。