2013-10-25 2 views
0

Что я хочу делать: у меня есть пользователи в моем db in в моем контроллере, я получаю их в $ users. У этого объекта есть свойство события, в нем он хранит идентификатор события-объекта.Symfony2: Добавить свойство к объекту в контроллере

Теперь в моем контроллере я прохожу через пользователей моего объекта $ users и получаю событие для каждого идентификатора текущего пользователя. то я хочу прочитать свойство titel этого события и установить его как другое свойство пользователя, например user.eventtitle, поэтому я могу получить доступ к этому заголовку в своем твиттере.

понимать? im shure есть способ добиться этого, но im not shure, если мой самый лучший способ.: P

спасибо заранее!

ответ

0

добавить функцию прокси в классе

public function getEventTitle(){ 
    return $this->event->getTitle(); 
} 

пользователя или получить его в шаблоне веточки

{{ user.event.title }} 

написать свой собственный запрос DQL для поиска пользователей с событием присоединилось (если вы используете доктрину), чтобы получить объект события в одном запросе и избежать ленивой загрузки.

SELECT u, e FROM YourBundle:User u LEFT JOIN u.event WHERE u.id = :id 

EDIT:

, если вы не знаете, как получить ваши ассоциации работает, читайте this.

+0

не было бы лучше сделать прямое соединение между моим пользователем и мой объект события? как я могу это достичь? и, можно ли тогда сделать что-то вроде user.event.title? – humpdi

+0

да, я обновил ответ со ссылкой. вы должны прочитать его, если вы не знаете, как заставить ассоциации работать. Я использую доктрину, так что это доктрина доктрины. – Kuro

0

Почему бы не создать еще один attribut к вашему классу объекта пользователя с ассоциированной геттер/сеттер

protected $eventTitle; 

public function getEventTitle() { 
    return $this->eventTitle; 
} 

Вы не укажете настойчивость аннотацию. Затем вы можете заполнить это свойство через контур контроллера.

+0

не было бы лучше сделать прямую связь между моим пользователем и объектом моего события? как я могу это достичь? и, можно ли тогда сделать что-то вроде user.event.title? – humpdi

+0

Я думал, что у вас не было объекта события. Тогда как создать одно-много свойство события? Вы сможете выполнить вызов user.event.title в ветке, если событие не равно null (тест с 'user.event defined и user.event') –

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