当我尝试从控制台创建权限时,我发出此错误:
命名空间“...”不包含任何映射实体
所以,
这是我的代码
哪一行有误,请告诉我。感谢。
namespace SfTuts\JobeetBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity
* @ORM\Table(name="job")
*/
class Job
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
protected $id;
/**
* @ORM\ManyToOne(targetEntity="Category")
* @ORM\JoinColumn(name="category_id", referencedColumnName="id")
*/
protected $category;
/**
* @ORM\Column(type="string", length=255)
*/
protected $type;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
protected $company;
/**
* @ORM\Column(type="string", length=255)
*/
protected $logo;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
protected $url;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
protected $position;
/**
* @ORM\Column(type="string", length=255)
*/
protected $location;
/**
* @ORM\Column(type="string", length=4000)
*/
protected $description;
/**
* @ORM\Column(type="string", length=4000, name="how_to_apply")
*/
protected $howToApply;
/**
* @ORM\Column(type="string", length=255, unique=true)
*/
protected $token;
/**
* @ORM\Column(type="boolean", name="is_public")
*/
protected $isPublic;
/**
* @ORM\Column(type="boolean", name="is_activated")
*/
protected $isActivated;
/**
* @ORM\Column(type="string", length=255)
*/
protected $email;
/**
* @ORM\Column(type="datetime", name="created_at")
*/
protected $createdAt;
/**
* @ORM\Column(type="datetime", name="updated_at")
*/
protected $updatedAt;
/**
* @ORM\Column(type="datetime", name="expires_at")
*/
protected $expiresAt;
public function __construct()
{
$this->createdAt = new \DateTime();
$this->updatedAt = new \DateTime();
}
}
我该如何解决这个问题。感谢。
答案 0 :(得分:5)
使用
doctrine:generate:entity
创建新实体。
然后通过编辑文件添加自己的属性后,使用
doctrine:generate:entities AcmeDemoBundle:MyEntity
创建getter / setters
答案 1 :(得分:0)
我发现如果将目录更改为项目目录,则将路径选项添加到命令中,它每次都有效。我跑了:
sudo app/console doctrine:generate:entities --path=./ Blog
在处理symblog.dev教程时。这就是工作所需要的
答案 2 :(得分:0)
我发现命名空间需要与您的实体匹配。仔细检查你的斜线。
app/console doctrine:generate:entities SfTuts/JobeetBundle/Entity
答案 3 :(得分:0)
您可能使用路径而不是命名空间。
执行以下规则:
app/console doctrine:generate:entities SfTuts/JobeetBundle/Entity --no-backup
答案 4 :(得分:0)
我发现如果您忘记将捆绑包添加到AppKernel
课程,则会出现此错误。
添加我的后,只需使用console doctrine:generate:entities MyBundle
就可以了。