PHP致命错误:在非对象上调用成员函数createQueryBuilder()

时间:2014-08-30 11:35:07

标签: php codeigniter doctrine

我需要什么:

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

这是我的代码:

控制器

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);

}

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

2 个答案:

答案 0 :(得分:0)

我不了解原则,但似乎您忘记在控制器中加载模型,看起来您没有正确使用模型:

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

答案 1 :(得分:0)

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

错误:

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

正确的:

        $qb=$em->createQueryBuilder();