繁体   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