symfony - 教义不获取外键
问题描述
Helo 我有下一张桌子:
Urls, CREATE TABLE `Urls` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`root` int(11) DEFAULT NULL,
`url` varchar(2000) COLLATE utf8_unicode_ci DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `id_UNIQUE` (`id`),
KEY `fk_Url_1_idx` (`root`),
CONSTRAINT `fk_Url_1` FOREIGN KEY (`root`) REFERENCES `Enlaces` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION,
) ENGINE=InnoDB AUTO_INCREMENT=35 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
当我执行以下查询以获取数据时
$urls = $this->getDoctrine()->getManager()->getRepository('UserBundle:Urls')
->createQueryBuilder('e')
->select("e")
->getQuery()->getResult(\Doctrine\ORM\Query::HYDRATE_ARRAY);
该查询获取除root
.
但是当执行php bin/console doctrine:query:sql
root
被获取时
实体文件 Urls.php:
<?php
namespace UserBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* Urls
*
* @ORM\Table(name="Urls", uniqueConstraints={@ORM\UniqueConstraint(name="id_UNIQUE", columns={"id"})}, indexes={@ORM\Index(name="fk_Url_1_idx"})
* @ORM\Entity
*/
class Urls
{
/**
* @var string|null
*
* @ORM\Column(name="url", type="string", length=2000, nullable=true)
*/
private $url;
/**
* @var int
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
private $id;
/**
* @var \UserBundle\Entity\Urls
*
* @ORM\ManyToOne(targetEntity="UserBundle\Entity\Urls")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="root", referencedColumnName="id")
* })
*/
private $root;
}
任何想法?
解决方案
我解决了 add ->setHint(\Doctrine\ORM\Query::HINT_INCLUDE_META_COLUMNS, true) 来查询。
$urls = $this->getDoctrine()->getManager()->getRepository('UserBundle:Urls')
->createQueryBuilder('e')
->select("e")
->setHint(\Doctrine\ORM\Query::HINT_INCLUDE_META_COLUMNS, true)
->getQuery()->getResult(\Doctrine\ORM\Query::HYDRATE_ARRAY);
推荐阅读
- ruby-on-rails - 杰基尔 3.7.3 | 错误:找不到时区数据的来源
- c++ - TessBaseAPI::Clear() 的语义
- c# - 在 Asp.Net Core 2.X 中部署后无法解析 DbContext
- c# - 在运行时更改表格位置更改屏幕编号
- javascript - 我找不到的 JS/jQuery 括号错误
- python - python中的排序算法帮助
- ruby-on-rails - 使用有限的中间件(config.api_only = true)从 Rails API 应用程序响应脚本?
- sql - SQL Server - 根据第 2 列值的检查返回正确的第 1 列值
- jquery - 出现错误 TS2339:类型“JQuery”上不存在属性“选项卡”
' - jquery - 弹跳汉堡菜单