Php Symfony-对数组上的成员函数的调用
我有以下功能:Php Symfony-对数组上的成员函数的调用,php,symfony,Php,Symfony,我有以下功能: public function getUserMediaAction(Request $request) { $data = $this->decodeToken($request); $username = $data['email']; $user = $this->getDoctrine()->getRepository('ApplicationSonataUserBundle:User') -&g
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()]);
}
有人知道吗请问我怎样才能解决这个问题
提前感谢您请尝试以下操作:
return new JsonResponse(['media' => $media[0]->getPath()]);
编辑:查看var\u dump
输出,您应该尝试以下操作:
return new JsonResponse(['media' => $media[0]['path']]);
方法
findNewbieAllData
使用数组对数据进行水合物化
$result = $query->getArrayResult();
return $result;
在这里查看getArrayResult
方法:
改用getResult
方法