2014-08-30 104 views
0

我需要什么:PHP致命错误:调用一个成员函数createQueryBuilder()一个非对象

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

这里是我的代码:

控制器

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

}

} *问题IM面临如何TI无法从数据库中读取数据教义。 *我已经试过调试代码调用控制器/函数名,然后即时得到500内部服务器错误。

回答

0

我不知道的学说,它好像你忘了加载模型控制器,它看起来像你没有正确使用模式:

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

您使用不initalized私人$ em变量而不是来自方法“检查”的参数。

错误:

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

正确:

 $qb=$em->createQueryBuilder(); 
相关问题