Generating Entity Getters and Setters in Symfony / Doctrine ORM

拥有回忆 提交于 2019-11-30 06:34:34

Try to delete this entity and regenerate them with next command:

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"

And then add manually:

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

try :

app/console doctrine:generate:entities EvrHomeBundle:Article

If you are using symfony 3.0 or higher then substitue app with bin:

bin/console doctrine:generate:entities EvrHomeBundle:Article

If you are using symfony 4+ then :

bin/console make:entity --regenerate 
php bin/console doctrine:generate:entities AppBundle

This will generate all the necessary getters and setters automatically into your entity files.

If you want to be specific about the tables, then use this:

php bin/console doctrine:generate:entities AppBundle:"TABLE_NAME"

Substitute "TABLE_NAME" with your table's name.

Be carreful also to the ORM, to be count to generate getters/setters:

/**
 * @var date
 *
 * @ORM\Column(name="creation_date", type="date")

 */

Mapping import ( from database )

_> php bin/console doctrine:mapping:import 'AppBundle\Entity' yml --path=src/AppBundle/Resources/config/doctrine

Generate Entityes from mapping but without getters and setters

_> php bin/console doctrine:mapping:convert annotation ./src 

OR

Generate Entityes from mapping with getters and setters

_> php bin/console doctrine:generate:entities AppBundle/Entity

Thought the missing * is one of the solution

But in my case while creating the entity from command prompt i preferred the Configuration Format to be YML, instead of Annotations.

Now what i am doing is giving mapping commands using annotations, so it is not working.

Try configuring Resources/config/Category.orm.yml as:

AppBundle\Entity\Category:
    type: entity
    table: null
    repositoryClass: AppBundle\Repository\CategoryRepository
    oneToMany:
        products:
            targetEntity: Product
            mappedBy: Category

And Change the Resources/config/Product.orm.yml as:

AppBundle\Entity\Product:
    type: entity
    table: null
    repositoryClass: AppBundle\Repository\ProductRepository
    manyToOne:
        category:
            targetEntity: Category
            inversedBy: products
            joinColumn:
                name: category_id
                referenceColumnName: id

And i feel it is not a bug but a better understanding!

Usage:

orm:generate-entities dest-path

Example in console:

doctrine orm:generate-entities --generate-annotations="true" destination_path

Source : http://wildlyinaccurate.com/useful-doctrine-2-console-commands/

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!