2017-10-30 25 views
5

पर एक सदस्य फ़ंक्शन को कॉल करें मैं निम्नलिखित कार्य हो:Symfony - सरणी

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

जो दुर्भाग्य से निम्नलिखित त्रुटि देता है:

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

किसी को चाहेंगे इस समस्या को हल करने के बारे में कोई विचार है, कृपया?

अग्रिम धन्यवाद

उत्तर

2

प्रयास करें बजाय निम्नलिखित:

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

संपादित करें:var_dump उत्पादन को देखते हुए आप इस प्रयास करना चाहिए:

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