Доктрина findBy () вызывает метод из объекта

1

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

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

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

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

$data->getUser();

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

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

  • 0
    $datat ! = $data
Теги:
doctrine

2 ответа

3
Лучший ответ

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

findOneBy этого вы должны использовать findOneBy, чтобы нацеливать только одну сущность...

Так:

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

Ваш метод getUser() не существует в объекте пользователя.

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

foreach ($users as $user) {
  // $user is an instance of users
 echo $user->getName(); //if this method exist in your entity model
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню