【问题标题】:PHP Fatal error: Call to a member function createQueryBuilder() on a non-objectPHP 致命错误:在非对象上调用成员函数 createQueryBuilder()
【发布时间】:2014-08-30 11:35:07
【问题描述】:

我需要什么:

  • 控制器应调用实体并从数据库中获取数据。

这是我的代码:

控制器

class Tweet extends CI_Controller 
{


function __construct()
{
    parent::__construct();
 }




function abc()
{
    $obj=new Tweet_unpublish($this->doctrine->em);

    // echo "abc";
    $obj->check(1);

    echo $obj;

}


 }

型号

Class Tweet_unpublish
{   
  private $em;

 function check($emt)
 {




            $i=0;$max_result=30;
            $qb=$this->em->createQueryBuilder();
             $from = 'Entities\Tweets';
             $qb->select('select eventId')
            ->add('from', $from)
            ->setFirstResult($i)
            ->setMaxResults($max_result);
             $query = $qb->getQuery();
             echo $query->getSQl();
             $results = $query->getResult();
             print_r($results);

}

} * 我面临的问题是我如何无法从原则中的数据库中获取数据。 * 我已经尝试调试代码调用控制器/函数名然后我得到 500 内部服务器错误。

【问题讨论】:

    标签: php codeigniter doctrine


    【解决方案1】:

    我不知道教义,但您似乎忘记在控制器中加载模型,并且您似乎没有正确使用模型:

    ...
    function abc(){
    $this->load->model("tweet_unpublish");
    $this->tweet_unpublish->check(...)
    ....
    

    【讨论】:

      【解决方案2】:

      您使用未初始化的私有 $em 变量而不是方法“check”的参数中的变量。

      错误:

              $qb=$this->em->createQueryBuilder();
      

      正确:

              $qb=$em->createQueryBuilder();
      

      【讨论】:

        猜你喜欢
        • 2016-02-12
        • 2016-02-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多