簡體   English   中英

Doctrine Query Builder不使用CodeIgniter

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM