Symfony 2教义导出到JSON [英] Symfony 2 Doctrine export to JSON
问题描述
我正在使用Symfony 2和Doctrine 2为iOS应用程序创建一个Web服务(JSON)。
要获取我的实体,我可以:
$ articles = $ this-> getDoctrine() - > getRepository('UdoPaddujourBundle:MenuArticle') - > findAll();
我必须告诉你:
$ article = array();
$ article = $ articles-> toArray();
给我以下错误:
致命错误:调用非对象上的成员函数toArray()
同样的事情发生在
$ article = $ articles-> exportTo('json');
我如何创建一个json响应? p>
Kind Regards,
Cearnau Dan
编辑:
var_dump($ articles)=
array(18){
[0] =>
object(Udo\PaddujourBundle\Entity\MenuArticle)#50(4){
[id:Udo\PaddujourBundle\Entity\MenuArticle:private] =>
int(1)
[name:Udo\PaddujourBundle\Entity\MenuArticle:private] =>
string(17)我的文章名称1
[description:Udo\PaddujourBundle\Entity\MenuArticle:private] =>
string(26)我的文章描述1
[price:Udo\PaddujourBundle\Entity\MenuArticle:private] =>
float(20)
}
[1] => ...
- 后退编辑
如何循环遍历所有的属性名称?
这是我有的:
$ myarray = array();
$ myArray [name] = array();
$ myArray [description] = array();
foreach($ article in $ article)
{
array_push($ myArray [name],$ article-> getName());
array_push($ myArray [description],$ article-> getDescription());
}
如果您使用教义查询你也可以这样做:
$ em = $ this-> getDoctrine() - > getEntityManager();
$ query = $ em-> createQuery('SELECT ma FROM UdoPaddujourBundle:MenuArticle ma ... etc');
$ myArray = $ query-> getArrayResult();
然后json_encode($ myArray);请参阅这里了解更多细节
I'm using Symfony 2 with Doctrine 2 to create a web service(JSON) for an iOS app.
To fetch my entity i do:
$articles = $this->getDoctrine()->getRepository('UdoPaddujourBundle:MenuArticle')->findAll();
I must tell you that:
$article = array();
$article = $articles->toArray();
Gives me the following error:
Fatal error: Call to a member function toArray() on a non-object
Same thing happends with
$article = $articles->exportTo('json');
How can i create a json response ?
Kind Regards, Cearnau Dan
Edit: var_dump($articles) =
array(18) {
[0]=>
object(Udo\PaddujourBundle\Entity\MenuArticle)#50 (4) {
["id":"Udo\PaddujourBundle\Entity\MenuArticle":private]=>
int(1)
["name":"Udo\PaddujourBundle\Entity\MenuArticle":private]=>
string(17) "My Article Name 1"
["description":"Udo\PaddujourBundle\Entity\MenuArticle":private]=>
string(26) "My Article Description 1"
["price":"Udo\PaddujourBundle\Entity\MenuArticle":private]=>
float(20)
}
[1]=> ...
- LATER EDIT
How can i loop through all the "property names" ? This is what i've got:
$myarray=array();
$myArray["name"]=array();
$myArray["description"]=array();
foreach($articles in $article)
{
array_push($myArray["name"], $article->getName());
array_push($myArray["description"], $article->getDescription());
}
If you use a doctrine query you can also do this:
$em = $this->getDoctrine()->getEntityManager();
$query = $em->createQuery('SELECT ma FROM UdoPaddujourBundle:MenuArticle ma ...etc');
$myArray = $query->getArrayResult();
and then json_encode($myArray); See here for more details
这篇关于Symfony 2教义导出到JSON的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!