2017-10-30 121 views
5

tarihinde üye işlevini yerine getirmek için aşağıdaki fonksiyonlara sahiptir:Symfony'nin - dizideki

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; 
} 

maalesef aşağıdaki hata verir:

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()]); 
    } 

herkes misiniz Bu sorunu nasıl çözebileceğime dair bir fikriniz var mı lütfen?

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

cevap

1

Yöntem ile findNewbieAllData hidratlar verileri: Bu denemelisiniz var_dump çıktı baktığımızda:

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

Düzenleme: