首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Symfony / Doctrine ORM中生成实体Getters和Setters

在Symfony / Doctrine ORM中生成实体Getters和Setters
EN

Stack Overflow用户
提问于 2014-01-24 02:57:12
回答 5查看 91.6K关注 0票数 29

我有以下只有属性的ORM Symfony实体:

代码语言:javascript
复制
<?php

namespace Evr\HomeBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * @ORM\Table(name="ev_article")
 * @ORM\Entity
 */
class Article
{
    /**
     *
     * @ORM\Column(name="article_id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    private $id;

    /**
     * 
     * @ORM\ManyToOne(targetEntity="Subategory",inversedBy="articles")
     * @ORM\JoinColumn(name="subcategory_id",referencedColumnName="id")
     */
    private $subcategory;


    /**
     * 
     * @ORM\Column(type="string",length=512)
     */
    private $title;

    /**
     * 
     * @ORM\Column(type="text")
     */
    private $content;

    /**
     * 
     * @ORM\Column(type="text")
     */
    private $exclusive_content;

    /**
     * 
     * @ORM\Column(type="date")
     */
    private $creation_date;


     /**
     * 
     * @ORM\Column(type="integer")
     */
    private $views;

    /**
     * 
     * @ORM\Column(type="integer")
     */
    private $votes;


}

我想自动生成setter和getter,所以我运行以下命令:

代码语言:javascript
复制
app/console doctrine:generate:entities Evr/HomeBundle/Entity/Article

每次执行此操作时,都会显示以下错误消息:

代码语言:javascript
复制
  [Doctrine\ORM\Mapping\MappingException]
  Class "Evr\HomeBundle\Entity\Article" is not a valid entity or mapped super
   class.



doctrine:generate:entities [--path="..."] [--no-backup] name

我不知道为什么它不能生成实体,是实体/注释有问题吗?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2014-01-24 03:06:17

尝试删除此实体并使用下一命令重新生成它们:

代码语言:javascript
复制
php app/console doctrine:generate:entity --entity="EvrHomeBundle:Article" --fields="name:string(255) content:text exclusive_content:text creation_date:date views:integer votes:integer"

然后手动添加:

代码语言:javascript
复制
/**
 * 
 * @ORM\ManyToOne(targetEntity="Subategory",inversedBy="articles")
 * @ORM\JoinColumn(name="subcategory_id",referencedColumnName="id")
 */
private $subcategory;
票数 10
EN

Stack Overflow用户

发布于 2014-01-24 03:05:07

尝试:

代码语言:javascript
复制
php app/console doctrine:generate:entities EvrHomeBundle:Article

如果您使用的是symfony 3.0或更高版本,请使用bin替换app:

代码语言:javascript
复制
php bin/console doctrine:generate:entities EvrHomeBundle:Article

如果您使用symfony 4+,则:

代码语言:javascript
复制
php bin/console make:entity --regenerate 
票数 69
EN

Stack Overflow用户

发布于 2018-10-12 18:59:22

映射导入(从数据库)

代码语言:javascript
复制
php bin/console doctrine:mapping:import 'AppBundle\Entity' yml --path=src/AppBundle/Resources/config/doctrine

从映射生成Entityes,但不带getter和setter

代码语言:javascript
复制
php bin/console doctrine:mapping:convert annotation ./src 

通过getter和setter映射生成Entityes

代码语言:javascript
复制
php bin/console doctrine:generate:entities AppBundle/Entity
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21317022

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档