2017-10-30 81 views
5

Mam następującą funkcję:Symfony - Zaproszenie do funkcji członka na tablicy

public function getUserMediaAction(Request $request) 
{ 
    $data = $this->decodeToken($request); 
    $username = $data['email']; 
    $user = $this->getDoctrine()->getRepository('ApplicationSonataUserBundle:User') 
       ->findOneBy(['email' => $username]); 
    $idUser = $user->getId(); 
    $media = $this->getDoctrine()->getRepository('ApplicationSonataUserBundle:User') 
        ->findNewbieAllData($idUser); 

    return new JsonResponse(['media' => $media->getPath()]); 
} 

findNewbieAllData:

public function findNewbieAllData($id_newbie) 
{ 
    $sql = "SELECT m 
      FROM ApplicationSonataUserBundle:User u 
      JOIN ApplicationSonataUserBundle:Media m 
      WHERE u.id=?1"; 

    $query = $this->getEntityManager() 

        ->createQuery($sql) 
        ->setParameter(1, $id_newbie); 

    $result = $query->getArrayResult(); 
    return $result; 
} 

który niestety zwraca następujący błąd:

Call to a member function getPath() on array 

Stack Trace 

in src\CoolbirdBundle\Controller\UserController.php at line 97 - 
     $media = $this->getDoctrine()->getRepository('ApplicationSonataUserBundle:User') 
         ->findNewbieAllData($idUser); 
     return new JsonResponse(['media' => $media->getPath()]); 
    } 

ktoś miałby Mam pomysł, jak rozwiązać ten problem?

góry dziękuję

Odpowiedz

2

Wypróbuj następujące zamiast:

return new JsonResponse(['media' => $media[0]->getPath()]); 

Edit: Patrząc na wyjściu var_dump powinien spróbować tego:

return new JsonResponse(['media' => $media[0]['path']]);