Symfony 3 Doctrine MySQL - 使用@ORM 注释生成实体
Symfony 3 Doctrine MySQL - generate entities with @ORM annotations
根据 运行 3 个命令后的 Symfony 3 文档:
php bin/console doctrine:mapping:import --force AcmeBlogBundle xml
php bin/console doctrine:mapping:convert annotation ./src
php bin/console doctrine:generate:entities AcmeBlogBundle
我应该得到类似这样的结果:
// src/Acme/BlogBundle/Entity/BlogComment.php
namespace Acme\BlogBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* Acme\BlogBundle\Entity\BlogComment
*
* @ORM\Table(name="blog_comment")
* @ORM\Entity
*/
class BlogComment
{
/**
* @var integer $id
*
* @ORM\Column(name="id", type="bigint")
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
private $id;
/**
* @var string $author
*
* @ORM\Column(name="author", type="string", length=100, nullable=false)
*/
private $author;
.....
不幸的是,我得到的不是粗略映射 class,getter 和 setter 看起来像这样:
<?php
namespace Clashers\PanelBundle\Entity;
/**
* Users
*/
class Users
{
/**
* @var string
*/
private $username;
/**
* Set username
*
* @param string $username
*
* @return Users
*/
public function setUsername($username)
{
$this->username = $username;
return $this;
}
/**
* Get username
*
* @return string
*/
public function getUsername()
{
return $this->username;
}
你们有没有人遇到过这样的问题,并且不需要手动将每个 属性 分配给数据库类型,列就解决了?
是否有任何 Doctrine 设置我错过了正确生成这些实体?
好的,问题解决了。我刚刚再次运行这些命令,不知何故我错过了一个由已经创建用户实体引起的错误。这可能会阻止 Doctrine 创建其他实体和 运行 最后一个命令
php bin/console doctrine:generate:entities AcmeBlogBundle
没有完全处理
php bin/console doctrine:mapping:convert annotation ./src
最终会像我一样缺少注释。
根据 运行 3 个命令后的 Symfony 3 文档:
php bin/console doctrine:mapping:import --force AcmeBlogBundle xml
php bin/console doctrine:mapping:convert annotation ./src
php bin/console doctrine:generate:entities AcmeBlogBundle
我应该得到类似这样的结果:
// src/Acme/BlogBundle/Entity/BlogComment.php
namespace Acme\BlogBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* Acme\BlogBundle\Entity\BlogComment
*
* @ORM\Table(name="blog_comment")
* @ORM\Entity
*/
class BlogComment
{
/**
* @var integer $id
*
* @ORM\Column(name="id", type="bigint")
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
private $id;
/**
* @var string $author
*
* @ORM\Column(name="author", type="string", length=100, nullable=false)
*/
private $author;
.....
不幸的是,我得到的不是粗略映射 class,getter 和 setter 看起来像这样:
<?php
namespace Clashers\PanelBundle\Entity;
/**
* Users
*/
class Users
{
/**
* @var string
*/
private $username;
/**
* Set username
*
* @param string $username
*
* @return Users
*/
public function setUsername($username)
{
$this->username = $username;
return $this;
}
/**
* Get username
*
* @return string
*/
public function getUsername()
{
return $this->username;
}
你们有没有人遇到过这样的问题,并且不需要手动将每个 属性 分配给数据库类型,列就解决了? 是否有任何 Doctrine 设置我错过了正确生成这些实体?
好的,问题解决了。我刚刚再次运行这些命令,不知何故我错过了一个由已经创建用户实体引起的错误。这可能会阻止 Doctrine 创建其他实体和 运行 最后一个命令
php bin/console doctrine:generate:entities AcmeBlogBundle
没有完全处理
php bin/console doctrine:mapping:convert annotation ./src
最终会像我一样缺少注释。