2013-08-10 24 views
8

mam Peticion podmiot ale czegoś brakuje, ponieważ pojawia się następujący błąd:Nie identyfikator/klucz podstawowy określony dla jednostki (...) Każda jednostka musi mieć identyfikator i/primary key

No identifier/primary key specified for Entity (...) Every Entity must have and identifier/primary key 

Jest to jednostka Kod:

<?php 

namespace Project\UsuarioBundle\Entity; 

use Doctrine\ORM\Mapping as ORM; 

/** 
* Peticion 
* 
* @ORM\Table(name="peticion") 
* @ORM\Entity 
*/ 
class Peticion 
{ 
    /** 
    * 
    * @ORM\Id 
    * @ORM\ManyToMany(targetEntity="Project\UsuarioBundle\Entity\Usuario", inversedBy="usuNick2") 
    * @ORM\JoinTable(name="USUARIO", 
    *  joinColumns={@ORM\JoinColumn(name="USU_NICK_1", referencedColumnName="USU_NICK")}, 
    *  inverseJoinColumns={@ORM\JoinColumn(name="USU_NICK_2", referencedColumnName="USU_NICK")} 
    *  ) 
    */ 
    private $usuNick1; 

    /** 
    * 
    * @ORM\Id 
    * @ORM\ManyToMany(targetEntity="Project\UsuarioBundle\Entity\Usuario", mappedBy="usuNick1")) 
    */ 
    private $usuNick2; 

    /** 
    * @var \DateTime 
    * 
    * @ORM\Column(name="PET_FECHA", type="date", nullable=false) 
    */ 
    private $fecha; 

Odpowiedz

15

musisz określić Numer ID pole i usunąć inne @ORM\Id adnotacje. Identifiers/Primary Keys w dokumentacji doktryny.

Every entity class needs an identifier/primary key. You designate the field that serves as the identifier with the @Id marker annotation.

/** 
* @ORM\Id 
* @ORM\Column(type="integer") 
* @ORM\GeneratedValue(strategy="AUTO") 
*/ 
protected $id; 
+3

To jest niepoprawne, Doctrine powinno działać z identyfikatorami złożonymi (wiele identyfikatorów), a zmienna nie musi mieć wartości '$ id' – Ryall

0

W moim przypadku, co się stało, było tak:

tworzę plik podmiotu, i umieścić go w katalogu podmiotów, z schematu bazy danych.

Ale tutaj jest rzecz, ja też stworzyłem plik YML dla encji i umieściłem go w Zasobach/config/doktrynie, bez schematu. Symfony szukał schematu wewnątrz YML. Po usunięciu pliku YML schemat w moim pliku encji działał dobrze.