2016-04-30 2 views
0

Я пытаюсь привлечь внимание к аннотациям сущности для доктрины для многих отношений.symfony doctrine one-to-many entity setup

Например, если table_one (Т1) составляет:

email_address (string) 

и table_two (Т2) является

userid_email (string) 
entry (int) 

(email_address.table_one = userid_email.table_two) и существует несколько записей в table_two т.е.

[email protected],entry=5; 
[email protected],entry=6 

ли я создать аннотацию для T1 Entity

/** 
* @ORM\ManyToMany(targetEntity="T1") 
* @ORM\JoinTable(name="table_two", 
*  joinColumns={@ORM\JoinColumn(name="userid", referencedColumnName="userid_email")} 
*  ) 
*/ 
protected entries; 
public function __construct() 
{ 
    $this->entries = new ArrayCollection(); 
} 

А потом в CreateQuery я запрос на T1:

$query = $em->createQuery(' 
    SELECT u.email, u.entries 
    FROM AppBundle:T1 u 
    WHERE u.email = :an_email_address'); 

Для вышеупомянутого запроса я всегда получаю эту ошибку:

Error: Invalid PathExpression. Должно быть StateFieldPathExpression

Есть ли что-то, что я настраиваю неправильно для отношений?

ответ

0

Ваша конфигурация, кажется, не так, попробовать что-то вроде:

 
/** 
* @ORM\ManyToMany(targetEntity="T1") 
* @ORM\joinColumn={@ORM\JoinColumn(name="userid", referencedColumnName="userid_email")} 
*  ) 
*/ 
Смежные вопросы