dongzhuandian3292 2017-07-31 06:04
浏览 48

Symfony findAll()返回错误类型的结果集

I am using php symfony framework. I want to fetch all rows from the user table. That's why I have written

$repository = $this->getDoctrine()->getRepository(User::class);
$users = $repository->findAll();

But it array returns a strange type of array.

Array ( 
            [0] => AppBundle\Entity\User Object ( [id:AppBundle\Entity\User:private] => 1 [roll:AppBundle\Entity\User:private] => 1 [name:AppBundle\Entity\User:private] => kumar [password:AppBundle\Entity\User:private] => 123456 ) 
            [1] => AppBundle\Entity\User Object ( [id:AppBundle\Entity\User:private] => 2 [roll:AppBundle\Entity\User:private] => 2 [name:AppBundle\Entity\User:private] => arpan [password:AppBundle\Entity\User:private] => 1234 ) 
            [2] => AppBundle\Entity\User Object ( [id:AppBundle\Entity\User:private] => 3 [roll:AppBundle\Entity\User:private] => 3 [name:AppBundle\Entity\User:private] => Bumba [password:AppBundle\Entity\User:private] => abcd ) 
        )

now if I try to return new Response(json_encode($users)) it returns [{},{},{}]. Help me.

  • 写回答

1条回答 默认 最新

  • doujujian0052 2017-07-31 06:09
    关注

    What it's returning is an array of objects. Generally this is what you want as its automatically bound/hydrating all the entities you've created, so you can now call $result->getFoo() .

    However as you appear to want a json result you should call ->getArrayResult() rather than ->findAll()

    Like this:

    $query = $this->getDoctrine()
            ->getRepository('User entity namespace') // probably AppBundle/Entity/User
            ->createQueryBuilder('u') 
            ->getQuery(); 
     $result = $query->getArrayResult();
    

    I highly advice you read the documentation from top to bottom about 10 times, especially the Symfony & Doctrine section https://symfony.com/doc/current/doctrine.html

    评论

报告相同问题?

悬赏问题

  • ¥15 yolov8边框坐标
  • ¥15 matlab中使用gurobi时报错
  • ¥15 WPF 大屏看板表格背景图片设置
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真