2017-01-27 9 views
1

У меня есть News сущности с следующими свойствами:не удается получить доступ к каждому свойству объекта в Twig

  • текст
  • start_date
  • expire_date

Вот часть класса:

//News.php 

/** 
* @ORM\Column(type="string", length=200) 
*/ 
private $text; 

/** 
* @ORM\Column(type="datetime") 
*/ 
private $start_date; 

/** 
* @ORM\Column(type="datetime") 
*/ 
private $expire_date; 

Я хочу показать все новости в списке в шаблоне веточку, это то, как я делаю, что:

<div class="list-group"> 
    {%for news in news%} 
     <div class="panel panel-default"> 
     <div class="panel-heading">{{ news.start_date|date('Y-m-d') }}</div> 
     <div class="panel-body"> 
      {{ news.text }} 
     </div> 
     </div> 
    {%endfor%} 
</div> 

Дело в том, что я получаю следующее сообщение об ошибке:

Neither the property "start_date" nor one of the methods "start_date()", "getstart_date()"/"isstart_date()" or "__call()" exist and have public access in class "AppBundle\Entity\News". 

Но если я пытаюсь рендеринга только text собственности, я могу получить к нему доступ.

Почему?

ответ

2

Ваш атрибут является закрытым. Вы можете добавить getter

public fucntion getStartDate() { 
    return $this->start_date; 
} 

и веточку

{{ news.startDate|date('Y-m-d') }} 
+0

У меня уже есть геттер для start_date свойство – Dygne

+0

использования STARTDATE вместо start_date – goto

+0

Хорошо, он работал с STARTDATE. Подчеркивание вызывало ошибку. Благодаря! – Dygne