2012-02-16 4 views
0

Im используя FOSUserBundle в Symfony2, это работает очень хорошо, но я должен создать, например, еще одну таблицу, как запись, с полями:FOSUserBundle сделать отношения с моим собственным столом

user_id, description,... 

мне нужно сделать отношения между стол user и Entry стол. Каков наилучший способ установить отношения «Один для многих»? Какой класс я должен продлить?

Я получаю эту ошибку:

Entry has no association named ApplicationSonataUserBundle:User

Мой код:

/** 
* 
* @ORM\ManyToOne(targetEntity="\Application\Sonata\UserBundle\Entity\User", inversedBy="entry") 
* @ORM\JoinColumn(name="user_id", referencedColumnName="id") 
*/ 

protected $users; 

Я использую этот Instrucción:

$em = $this->getDoctrine()->getEntityManager(); 
$query = $em->createQuery('SELECT b 
           FROM LoggerFrontendBundle:Entry a JOIN a.ApplicationSonataUserBundle:User b 
         ') ; 

Благодарности

ответ

0

Entity Пользователь:

/** 
* @ORM\OneToOne(targetEntity="path to new Entity", mappedBy="user", cascade={"persist"}) 
*/ 
protected $name; 

New Entity:

/** 
* @ORM\OneToOne(targetEntity="path to User Entity", inversedBy="name") 
*/ 
protected $user; 

От контроллера

$em = $this->getDoctrine()->getEntityManager(); 
// when you query users, you get the information from the new Entity. 
$users = $em->getRepository('ApplicationSonataUserBundle:User')->findAll(); 

return array('users' => $user); // return the array of user information 

Twig:

{% for user in users %} // loop through users<br/> 

{{ user.name.getName }} // you can call user.getname or user.getEmail , you can add the name from the Entity on and get the fields from the new Entity like user.name.getName etc... 

{% endfor %} //end loop 
+0

ок, но у меня есть обновить мой вопрос, потому что я попробовать но когда я не работаю – JERC

Смежные вопросы