gpt4 book ai didi

php - Doctrine DQL 查询 - 外键为空时获取行

转载 作者:行者123 更新时间:2023-12-03 23:27:45 24 4
gpt4 key购买 nike

我想知道是否有人可以帮助解决这个 Doctrine 问题。
基本上,我的查询不会返回未设置外键或 NULL 的行。我想返回所有行。

这里有2个模式

项目

class Items{
/**
* @var integer $id
*
* @Column(name="id", type="integer", nullable=false)
* @Id
* @GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var string $name
*
* @Column(name="name", type="string", length=255, nullable=false)
*/
private $name;
/**
* @var integer $type
*
* @ManyToOne(targetEntity="Types")
*
*/
private $type;
}

类型

class Types{
/**
* @var integer $id
*
* @Column(name="id", type="integer", nullable=false)
* @Id
* @GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var string $name
*
* @Column(name="name", type="string", length=255, nullable=false)
*/
private $name;
}

以及下面的 DQL 查询

SELECT i.id, i.name, t.name as type FROM entity\Items i, entity\Types t WHERE i.type=t.id (OTHER CONDITIONS...)

上述查询不会返回在 type 外键中没有值的行。

是否可以返回那些行?

提前致谢...

最佳答案

尝试左连接:

SELECT i.id, i.name, t.name as type FROM entity\Items i LEFT JOIN i.type t

这将返回左侧的所有内容(项目),无论是否存在匹配的类型。

关于php - Doctrine DQL 查询 - 外键为空时获取行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9399853/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com