Je fais un projet Symfony2, je créais des entités et j'ai une association ManyToOne et quand j'essaie de ne pas obtenir des données de la base de données que je reçois cette erreur:erreur Doctrine avec la cartographie
The association Ueb\Creator\Bundle\ModuleBundle\Entity\GenericBlock#fields refers to the owning side field Ueb\Creator\Bundle\ModuleBundle\Entity\GenericField#idGenericBlock which is not defined as association.
The association Ueb\Creator\Bundle\ModuleBundle\Entity\GenericBlock#fields refers to the owning side field Ueb\Creator\Bundle\ModuleBundle\Entity\GenericField#idGenericBlock which does not exist.
J'ai de cette classe:
GenericField
/**
* GenericField
*
* @ORM\Table(name="crt_generic_field")
* @ORM\Entity(repositoryClass="Ueb\Creator\Bundle\ModuleBundle\Entity\Repository\GenericFieldRepository")
*/
class GenericField
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var integer
*
* @ORM\Column(name="id_generic_block")
* @ORM\ManyToOne(targetEntity="Ueb\Creator\Bundle\ModuleBundle\Entity\GenericBlock", inversedBy="fields")
* @ORM\JoinColumn(name="id_generic_block", referencedColumnName="id",nullable=false)
*/
private $idGenericBlock;
/**
* @var integer
*
* @ORM\Column(name="id_field_type")
* @ORM\ManyToOne(targetEntity="Ueb\Creator\Bundle\ModuleBundle\Entity\FieldTypes")
* @ORM\JoinColumn(name="id_field_type", referencedColumnName="id",nullable=false)
*/
private $idFieldType;
/**
* @var integer
*
* @ORM\Column(name="isRequired", type="integer")
*/
private $isRequired;
/**
* @var string
*
* @ORM\Column(name="field_name", type="string", length=40)
*/
private $fieldName;
/**
* @var integer
*
* @ORM\Column(name="position", type="integer")
*/
private $position;
/**
* @var string
*
* @ORM\Column(name="field_description", type="string", length=255)
*/
private $fieldDescription;
/**
* @var array
*
* @ORM\Column(name="adicional_info", type="array")
*/
private $adicionalInfo;
Et ma classe GenericBlock
/**
* GenericBlock
*
* @ORM\Table(name="crt_generic_block")
* @ORM\Entity(repositoryClass="Ueb\Creator\Bundle\ModuleBundle\Entity\Repository\GenericBlockRepository")
*/
class GenericBlock
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var string
*
* @ORM\Column(name="blockName", type="string", length=40)
*
*/
private $blockName;
/**
* @var string
*
* @ORM\Column(name="itemBlockName", type="string", length=40)
*/
private $itemBlockName;
/**
* @var string
*
* @ORM\Column(name="blockDescription", type="string", length=255)
*/
private $blockDescription;
/**
* @var \DateTime
*
* @ORM\Column(name="createdAt", type="date")
*/
private $createdAt;
/**
* @var integer
*
* @ORM\Column(name="createdBy")
* @ORM\ManyToOne(targetEntity="Ueb\Accounts\Bundle\UserBundle\Entity\User")
* @ORM\JoinColumn(name="createdBy", referencedColumnName="id",nullable=true)
*
*/
private $createdBy;
/**
* @var ArrayCollection
*
* @ORM\OneToMany(targetEntity="Ueb\Creator\Bundle\ModuleBundle\Entity\GenericField", mappedBy="idGenericBlock", cascade={"all"})
*/
private $fields;
J'ai vu quelques questions avec la même erreur et essayé les réponses suggérées mais aucune ne fonctionne donc je ne sais pas quoi faire d'autre, ce doit être une erreur stupide.
Merci, cela a résolu mon problème. Je ne savais pas que je pouvais seulement avoir une des annotations. :) – patricia