我想选择一个列(具有外键约束),而不在表上创建连接。我有两个名为 eventupdate
和 eventcategory
的表。event
列在两个表中都是通用的。每当我尝试以下代码时,它都会给出错误。
请给出一些建议。我不想创建联接。
$qb2 = $this->em->createQueryBuilder();
$from = 'Entities'EventCategory cat';
$qb2->add('from',$from)
->select('cat.event')
->Where('cat.id=3);
$query=$qb2->getQuery();
我可以看到两个选项:
-
HINT_INCLUDE_META_COLUMNS
与ArrayHydrator
一起$query = $queryBuilder->getQuery(); $query->setHint('Doctrine'ORM'Query::HINT_INCLUDE_META_COLUMNS, true); var_dump($query->getArrayResult()); // Will return array with raw foreign key column name => value, e.g. user_id => 5
-
在外键作为基元类型的
Entities'EventCategory
中创建单独的属性/** * @var User * * @ManyToOne(targetEntity="User") * @JoinColumn(name="user_id", referencedColumnName="user_id") */ private $user; /** * @var int * * @Column(name="user_id", type="integer", nullable=false) */ private $userId;