Возможно, я полностью ошибаюсь в своей проблеме, но, надеюсь, кто-то поймет мою борьбу и может указать мне в правильном направлении.Пользовательский объект в symfony 2
Я хочу получить некоторые значения из моей сущности Student \ Preference в моей сущности Студент, чтобы я мог загрузить их в Listmapper.
В моей сущности Student я это:
/**
* @ORM\OneToMany(targetEntity="Map\Bundle\StudentBundle\Entity\Student\Preference", mappedBy="student")
*/
protected $status;
/**
* Get Status
*
* @param \Map\Bundle\StudentBundle\Entity\Student\Preference $preference
* @return string
*/
// When I change $preference to null here I get an error that my instance must be an object of Entity\Student\Preference , but none was given
public function getStatus(\Map\Bundle\StudentBundle\Entity\Student\Preference $preference = null)
{
$string = '';
$string .= ($preference->getVoorrangChecked() ? "Declined" : "Accepted");
$string .= "by";
$string .= $preference->getControleur();
$string .= "at";
$string .= $preference->getDateUpdated();
return $string;
}
Но почему-то не признает $ предпочтения. Это дает мне эту ошибку:
Error: Call to a member function getPreferenceChecked() on null
Но в моей сущности Student \ Preference Я, конечно, есть все эти функции. Может ли кто-нибудь указать мне в правильном направлении? Я действительно застрял здесь. Я что-то наблюдаю, что-то забыл?
Это мой listMapper:
protected function configureListFields(ListMapper $listMapper)
{
$listMapper
->add('remote')
->add('name')
->add('dobformatted', null, array('label' => 'Birthday'))
->add('status'); //Here is where the string generated by getStatus should be
}
Привет, спасибо за ваш четкий ответ, но когда я удаляю = null, он дает мне предупреждение, что getStatus() должен быть экземпляром Maps \ Bundle \ StudentBundle \ Entity \ Student \ Preference, не указанным .. – Matheno
Правильно, это то, что ты хочешь. Вам нужно передать объект предпочтения функции, иначе он не будет работать. Ваш вызов должен выглядеть как 'getStatus ($ preference);' –
Хм .. Я так понимаю, но как я могу получить это значение в моем списке, вы можете использовать только поля, объявленные в вашей организации, там? – Matheno