选择一个列(具有外键),而不连接两个表


Select a column (having foreign key) without joining two tables

我想选择一个列(具有外键约束),而不在表上创建连接。我有两个名为 eventupdateeventcategory 的表。event列在两个表中都是通用的。每当我尝试以下代码时,它都会给出错误。

请给出一些建议。我不想创建联接。

$qb2 = $this->em->createQueryBuilder();
$from = 'Entities'EventCategory cat';
$qb2->add('from',$from)
    ->select('cat.event')
    ->Where('cat.id=3);
$query=$qb2->getQuery();

我可以看到两个选项:

  1. HINT_INCLUDE_META_COLUMNSArrayHydrator一起

    $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
    
  2. 在外键作为基元类型的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;