Generating Entity Getters and Setters in Symfony / Doctrine ORM
Solution 1
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;
Solution 2
try :
php app/console doctrine:generate:entities EvrHomeBundle:Article
If you are using symfony 3.0 or higher then substitue app with bin:
php bin/console doctrine:generate:entities EvrHomeBundle:Article
If you are using symfony 4+ then :
php bin/console make:entity --regenerate
Solution 3
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.
Solution 4
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
Solution 5
Be carreful also to the ORM, to be count to generate getters/setters:
/**
* @var date
*
* @ORM\Column(name="creation_date", type="date")
*/
SmootQ
Mohamed Taqi , Programmer and web developer.... And a design hobbyist
Updated on May 06, 2021Comments
-
SmootQ almost 3 years
I have the following ORM Symfony entity with only properties :
<?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; }
I want to generate setters and getters automatically, so I run the following command :
app/console doctrine:generate:entities Evr/HomeBundle/Entity/Article
And everytime I do this, it displays the following error message :
[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
I don't know why it doesn't generate entities, is something wrong in the entity/annotations?