[英]Doctrine Query Builder not working with CodeIgniter
我在我的一個控制器中的函數中有以下代碼:
$qb = $this->doctrine->em->createQueryBuilder();
$query = $qb->select('username, password, level')
->from('User', 'u');
// ->where('user.username = :username')
// ->setParameter('username', 'userTest');
$users = $query->getResult();
這導致某些事情無聲地失敗。 沒有錯誤消息,我從頁面獲得的唯一一件事是500服務器錯誤。 如果我注釋掉$users = $query->getResult()
行,頁面加載就好了,所以看起來查詢構建器在這里工作不正常。 我不知道為什么。 我是否需要以某種方式將其加載到我的Doctrine.php庫文件中? 我不這么認為。
我發現的另一件奇怪的事情是,如果我嘗試通過getRepository
方法檢索條目,它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;
}
?>
你錯過了一步!
查看學說文檔 。
嘗試: $users = $query->getQuery()->getResult();
並更改: $qb->select('u.username, u.password, u.level')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.