2013-05-09 2 views
0

Я надеюсь получить Id из таблицы пользователя, используя хранилище в моем действии:Примечание: Не определено индекс Repository Symfony2

$user = $this->getDoctrine()->getRepository('AppMyBundle:User') 
    ->findByUsername($token['name']); 

$id = $user['id']; // also $user->id or $user->getId() give me error? 

, которые дают мне эту ошибку:

Notice: Undefined index: id in /var/www/project/src/App/MyBundle/Controller/DefaultController.php line 56 

наконец выход var_daump:

echo "<pre>"; 
var_dump($user); 
exit(); 
echo "</pre>"; 


array(1) { 
[0]=> 
object(App\MyBundle\Entity\User)#351 (21) { 
["id":protected]=> 
int(17) 
.... 
.... 
+0

сделал '$ user-> getId()' дал вам ошибку? Если это так, у вас есть этот метод внутри класса 'User'? – DonCallisto

+0

уверен, что у меня есть, я использую FosUserBudle для этого ... – Nll

+0

, пожалуйста, если у вас нет хорошего решения, не отвечайте ... – Nll

ответ

2

Я думаю, вы хотите позвонить в findOneByUsername вместо findByUsername.

findBy* вернуть массив объектов и findOneBy* вернуть объект.

После этого для того, чтобы получить идентификатор просто вызвать ваш добытчик $id = $user->getId();

хоп это полезно.

С уважением.

Смежные вопросы