2016-09-19 5 views
0
class Comment 
{ 
    private $foreignId; 
    private $foreignType; 

И в моем CommentAdminКак я могу получить доступ к собственности, относящейся к другому объекту Sonata?

protected function configureListFields(ListMapper $listMapper) 
{ 
    $listMapper ->add('name', 'string', array('template' => 'AdminBundle:Comment:name.html.twig', 'label' => 'Name')) 

так, как я могу получить доступ к имени свойства объекта, идентификатор = ForeignID без таблиц отношений. Я хотел бы сделать что-то подобное:

{{ object.foreignEntityId.name }} 

ответ

0

невозможно!

Если у вас есть только идентификатор, а не сам объект или я missunderstand вашей проблемы

Oskar

+0

Да, у меня есть только идентификатор и типа. Также у меня есть метод в моей службе getForeignEntityData ($ type, $ id), который правильно возвращает $ data filler. Обязательно ли иметь таблицы отношений? Благодарю. –

+1

Проблема здесь, ist, что ListMapper используется для построения контура списка. У вас есть только объект в шаблоне, поэтому вы можете написать расширение ветки, где вы вводите тип и идентификатор и делаете материал базы данных внутри расширения. – OskarStark

+0

Я не уверен, как это сделать, например [this] (http: //stackoverflow.com/questions/24503370/sonata-admin-configurelistfields-show-through-query)? Где создать расширение? –