bar*_*rii 6 symfony doctrine-orm
$posts = $em->find('Application\BlogBundle\Entity\Post',1);
print_r ($posts);
Run Code Online (Sandbox Code Playgroud)
我为什么得到它?
Barii\BlogBundle\Entity\Post Object ( [id:Barii\BlogBundle\Entity\Post:private] => 1 [title:Application\BlogBundle\Entity\Post:private] => something [body:Application\BlogBundle\Entity\Post:private] => content )
Run Code Online (Sandbox Code Playgroud)
而不是像这样的简单数组:
array ( [id] => 1,
[title] => "something",
[body] => "content" )
Run Code Online (Sandbox Code Playgroud)
我在Symfony 2中使用它.
Pro*_*tic 10
你有两个选择.据我所知,默认情况下,您无法从实体存储库中找到结果作为数组.相反,你可以做以下两件事之一:
首先,您可以toArray()在实体对象上实现一个方法(可能通过映射的超类),它只返回一个属性数组.
其次,您可以使用Doctrine查询语言来提取您使用该getArrayResult()方法所需的信息,可能是这样的:
$query = $em->createQuery('SELECT p FROM Application\BlogBundle\Entity\Post p WHERE p.id=:pid');
$query->setParameter('tid', $postId);
$result = $query->getArrayResult(); // shortcut for $query->getResult(Query::HYDRATE_ARRAY);
Run Code Online (Sandbox Code Playgroud)
可以在此处找到有关DQL的更多深入文档.
| 归档时间: |
|
| 查看次数: |
13531 次 |
| 最近记录: |