php – 如何获取id而不加入doctrine2?

前端之家收集整理的这篇文章主要介绍了php – 如何获取id而不加入doctrine2?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有这样的实体:
/**
 *
 * @Table(name="table")
 * @Entity
 */
 class Table {

    /**
     * @Column(type="integer")
     * @Id
     * @GeneratedValue(strategy="IDENTITY")
     */
     private $id;


    /**
     * @ManyToOne(targetEntity="Entities\Users")
     * @joinColumn(name="userId",referencedColumnName="id")
     */
     private $User;


    /**
     * @Column(type="string")
     */
     private $text;


}

如果我做
$Q-> getQuery() – > getSingleResult() – >的getUser() – > getUserId()

学说生成查询

SELECT * FROM table t INNER JOIN users u ON u.id = t.userId WHERE id = 100

但是如果我不需要表用户,如何获取userId.

在纯sql中,我可以只是

SELECT * FROM table WHERE id = 100

获取userId而不加入用户表.

您可能还需要查看IDENTITY()函数(Doctrine版本> 2.2).

例:

SELECT IDENTITY(t.User) AS user_id from Table

应该返回:

[ ['user_id' => 1],['user_id' => 2],... ]

也可以看看:
http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/dql-doctrine-query-language.html#dql-functions

猜你在找的PHP相关文章