0

我开始使用 Doctrine 并立即遇到了麻烦。我有一个实体定义如下:

namespace AdminModule;

use Doctrine\ORM\Mapping as ORM;

/**
 * @ORM\Entity
 * @ORM\Table(name="admin_user")
 */
class User extends \Nette\Object
{

    /**
     * @ORM\Id
     * @ORM\Column(type="string", name="guid")
     * @var string
     */
    protected $id;

    /**
     * @ORM\Column(type="string")
     * @var string
     */
    protected $username;

    /**
     * @ORM\Column(type="string")
     * @var string
     */
    protected $password;

    /**
     * @ORM\Column(type="string")
     * @var string
     */
    protected $email;

    /**
     * @ORM\Column(type="datetime")
     * @var datetime
     */
    protected $registered;

    /**
     * @ORM\Column(type="datetime")
     * @var datetime
     */
    protected $last_login;

}

如果我打电话

$u = $this->em->getRepository('AdminModule\User')->createQueryBuilder()
            ->select('u.username, u.id')
            ->from('AdminModule\User', 'u');

我收到 RuntimeException 说明缺少标识符属性“id”。但是,当我使用 getQuery() 和 execute() 运行上述代码时,它会返回我想要的结果。

你能帮我吗?如果需要更多信息,请告诉我。谢谢你。

4

0 回答 0