2016-07-18 3 views
1

Мне не нужна помощь для вызова метода из объекта.Метод вызова findBy() Doctrine из объекта

Вот код, который я пытался выполнить.

$datat = $this->getDoctrine() 
->getRepository('AppBundle:users') 
->findBy(array('userId' => $userId)); 

после этого, когда я звоню

$data->getUser(); 

Я получаю сообщение об Exeption "Ошибка: Вызов функции члена GetUser() на не-объект"

Когда я дамп $ данные Я получил данные из таблицы или выполнил
->find() с идентификационным значением.

+0

'$ datat'! =' $ Data' – Ultimater

ответ

3

findBy обычно возвращает ArrayCollection.

Вы должны использовать findOneBy вместо того, чтобы предназначаться только один объект ...

Итак:

$datat = $this->getDoctrine() 
    ->getRepository('AppBundle:users') 
    ->findOneBy(array('userId' => $userId)); 
1

Ваш метод GetUser() не существует в сущности пользователей.

Просто итерацию над $datat и называется метод из объекта пользователя, как этот

foreach ($users as $user) { 
    // $user is an instance of users 
echo $user->getName(); //if this method exist in your entity model 
} 
Смежные вопросы