[英]MYSQL SELECT To fetch rows from two tables with or without a foreign key
[英]Select a column (having foreign key) without joining two tables
我想选择一列(具有外键约束)而不在表上创建联接。 我有两个名为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, eg 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;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.