Php Symfony2使用条令结果填充对象

Php Symfony2使用条令结果填充对象,php,symfony,doctrine-orm,Php,Symfony,Doctrine Orm,我正在开发Symfony2API,只是为了学习一些东西。我试图实现的是: 从DB加载模板这正在工作。 现在,我正试图在浏览器中从数据库中输出检索到的模板,这正是我努力的方向 所以我的条令有效并检索模板,我还创建了TemplateResponse,在这里我想用条令数组key=>value填充每个construc变量 TemplateResponse文件: <?php namespace Boltmail\UserBundle\BoltmailResponse; class Templat

我正在开发Symfony2API,只是为了学习一些东西。我试图实现的是:

从DB加载模板这正在工作。 现在,我正试图在浏览器中从数据库中输出检索到的模板,这正是我努力的方向

所以我的条令有效并检索模板,我还创建了TemplateResponse,在这里我想用条令数组key=>value填充每个construc变量

TemplateResponse文件:

<?php

namespace Boltmail\UserBundle\BoltmailResponse;

class TemplateResponse {

    /**
     * @var integer
     */
    public $templates;

    /**
     * @param $templates
     */
    public function __construct(
        $templates
    ){
        $this->templates = $templates;
    }
}
所以我相信Doctrine会以数组的形式返回数据,我试图访问它的值,就像它们是对象一样,这就是为什么我会出现这个错误

在填充TemplateReponse之前,我还尝试在If语句中使用foreach循环,但这也不起作用。你知道我该怎么做吗

好的,我做了一些改变,得到了我想要的结果:

结果:

{
  templates: [
   {
      temp_id: "0",
      title: "New Template",
      content: "I am new template blehhhhhh",
      author: "Michael"
   },
   {
      temp_id: "1",
      title: "Liverpool Template",
      content: "You Will Never Walk Alone",
      author: "Bob"
   }
 ]
}



你试图实现的东西已经存在于Symfony内部:它被调用。

你试图实现的东西已经存在于Symfony内部:它被调用。

你试图实现的东西已经存在于Symfony内部:它被调用。

你试图实现的东西已经存在于Symfony内部Symfony:它被称为。

您能提供searchTemplate实现吗?请检查以上更改使用一些日志功能执行调试。我假设您没有执行正确的查询,并且返回值为null或某种形式。尝试使用get_类($this->template);顺便说一句,原则将帮助你不需要重新发明轮子。。。如果您使用null参数调用该方法,这将引发异常。请检查上面的编辑是否提供searchTemplate实现?请检查上面的更改使用一些日志功能执行调试。我假设您没有执行正确的查询,并且返回值为null或某种形式。尝试使用get_类($this->template);顺便说一句,原则将帮助你不需要重新发明轮子。。。如果您使用null参数调用该方法,这将引发异常。请检查上面的编辑是否提供searchTemplate实现?请检查上面的更改使用一些日志功能执行调试。我假设您没有执行正确的查询,并且返回值为null或某种形式。尝试使用get_类($this->template);顺便说一句,原则将帮助你不需要重新发明轮子。。。如果您使用null参数调用该方法,这将引发异常。请检查上面的编辑是否提供searchTemplate实现?请检查上面的更改使用一些日志功能执行调试。我假设您没有执行正确的查询,并且返回值为null或某种形式。尝试使用get_类($this->template);顺便说一句,原则将帮助你不需要重新发明轮子。。。如果你调用带有null参数的方法,这应该会引起一个例外,请检查上面的编辑我同意我只是出于某种原因更喜欢使用原则DBAL。。。。。。不管我是否有可能实现我想要实现的目标…?是的,这是完全可能的,但是为什么要重写已经存在的东西呢?;)此外,即使你使用ORM,你也可以访问底层的DBAL连接。@Tomazi:只是为了对话,DBAL选择的原因是什么?呃,我只是想用它,我想对我来说更吸引人的是这不好。。。?是的,你必须学习一些新的东西,做一些你不习惯的事情,但这是作为一名开发人员的本质:总是尝试和学习新的东西,如果它们更好,你就会有所收获。自从我开始使用symfony1以来,我就一直使用ORM,我认为这是一个非常好的工具;您应该阅读一些文档,以帮助您决定什么对您和您的应用程序更有利。我同意,出于某种原因,我更喜欢使用DBAL原则。。。。。。不管我是否有可能实现我想要实现的目标…?是的,这是完全可能的,但是为什么要重写已经存在的东西呢?;)此外,即使你使用ORM,你也可以访问底层的DBAL连接。@Tomazi:只是为了对话,DBAL选择的原因是什么?呃,我只是想用它,我想对我来说更吸引人的是这不好。。。?是的,你必须学习一些新的东西,做一些你不习惯的事情,但这是作为一名开发人员的本质:总是尝试和学习新的东西,如果它们更好,你就会有所收获。自从我开始使用symfony1以来,我就一直使用ORM,我认为这是一个非常好的工具;您应该阅读一些文档,以帮助您决定什么对您和您的应用程序更有利。我同意,出于某种原因,我更喜欢使用DBAL原则。。。。。。不管我是否有可能实现我想要实现的目标…?是的,这是完全可能的,但是为什么要重写已经存在的东西呢?;)此外,即使你使用ORM,你也可以访问底层的DBAL连接。@Tomazi:只是为了对话,DBAL选择的原因是什么?呃,我只是想用它,我想对我来说更吸引人的是这不好。。。?是的,你必须学习一些新的东西,做一些你不习惯的事情,但这是作为一名开发人员的本质:总是尝试和学习新的东西,如果它们更好,你就会有所收获。自从我开始使用symfony1以来,我就一直使用ORM,我认为这是一个非常好的工具;您应该阅读一些文档,以帮助您决定什么对您和您的应用程序更有利。我同意,出于某种原因,我更喜欢使用DBAL原则。。。。。。不管怎样,有没有可能实现我想要的…?是的,是tot
Notice: Trying to get property of non-object

if ($template) {
    return new TemplateResponse (
        $template->temp_id,
        $template->title,
        $template->content,
        $template->author
{
  templates: [
   {
      temp_id: "0",
      title: "New Template",
      content: "I am new template blehhhhhh",
      author: "Michael"
   },
   {
      temp_id: "1",
      title: "Liverpool Template",
      content: "You Will Never Walk Alone",
      author: "Bob"
   }
 ]
}