【发布时间】:2013-02-14 00:22:16
【问题描述】:
我的一个控制器的函数中有以下代码:
$qb = $this->doctrine->em->createQueryBuilder();
$query = $qb->select('username, password, level')
->from('User', 'u');
// ->where('user.username = :username')
// ->setParameter('username', 'userTest');
$users = $query->getResult();
这会导致 something 静默失败。没有错误消息,我从页面得到的唯一信息是 500 服务器错误。如果我注释掉 $users = $query->getResult() 行,页面加载得很好,所以查询生成器似乎在这里不起作用。我不知道为什么。我需要以某种方式将它加载到我的 Doctrine.php 库文件中吗?我不这么认为。
我发现的另一件奇怪的事情是,如果我尝试通过 getRepository 方法检索条目,它会将 DQL 语句打印到页面的输出中,因为该方法本身出于某种原因会打印出 DQL 语句。我不会把它的结果打印出来。
知道这里发生了什么吗?我的用户类非常简单。不幸的是,我不知道出了什么问题,因为没有报告错误。 D:
<?php
namespace Entities;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity
*/
class User {
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue
*/
private $id;
/**
* @ORM\Column(type="string")
*/
private $username;
/**
* @ORM\Column(type="string")
*/
private $password;
/**
* @ORM\Column(type="integer")
*/
private $level;
/**
* @ORM\OneToMany(targetEntity="EmailAddress", mappedBy="user")
*/
private $emails;
}
?>
【问题讨论】:
标签: php codeigniter doctrine query-builder