加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2020-12-13 17:36:19 所属栏目:PHP教程 来源:网络整理
导读:我有这样的实体: /** * * @Table(name="table") * @Entity */ class Table { /** * @Column(type="integer") * @Id * @GeneratedValue(strategy="IDENTITY") */ private $id; /** * @ManyToOne(targetEntity="EntitiesUsers") * @joinColumn(name="userId"
我有这样的实体:
/**
 *
 * @Table(name="table")
 * @Entity
 */
 class Table {

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


    /**
     * @ManyToOne(targetEntity="EntitiesUsers")
     * @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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读