2013-08-10 29 views
8

Tôi có Peticion thực thể nhưng một cái gì đó là mất tích vì xuất hiện các lỗi sau:Không nhận dạng/khóa chính quy định cho Entity (...) Mỗi ​​Entity phải có và định danh/chính chủ chốt

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

Đây là thực thể mã:

<?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; 

Trả lời

15

Bạn cần phải xác định id lĩnh vực và loại bỏ @ORM\Id chú thích khác. Identifiers/Primary Keys trong tài liệu học thuyết.

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

Điều này không chính xác, Doctrine sẽ hoạt động với các ID ghép (nhiều ID) và biến không cần phải là '$ id' – Ryall

0

Trong trường hợp của tôi, những gì đã xảy ra là thế này:

tôi tạo ra các tập tin tổ chức nào, và đặt nó trong thư mục tổ chức nào, với cấu trúc CSDL.

Nhưng đây là điều, tôi cũng tạo ra một tệp YML cho thực thể và đặt nó bên trong Tài nguyên/cấu hình/học thuyết, không có lược đồ. Symfony đang tìm kiếm lược đồ bên trong YML. Khi tôi đã xóa tệp YML, lược đồ trong tệp thực thể của tôi đã hoạt động tốt.

Các vấn đề liên quan