Orm 如何检索没有关联实体的实体?

Orm 如何检索没有关联实体的实体?,orm,doctrine,symfony,Orm,Doctrine,Symfony,我的代码是 $bars = $em->getRepository('AppBundle:Bar')->findAll(); 以及实体 /** * @var int * * @ORM\Column(name="id", type="integer") * @ORM\Id * @ORM\GeneratedValue(strategy="AUTO") */ private $id; /** * @var string * * @ORM\Column(name="na

我的代码是

 $bars = $em->getRepository('AppBundle:Bar')->findAll();
以及实体

/**
 * @var int
 *
 * @ORM\Column(name="id", type="integer")
 * @ORM\Id
 * @ORM\GeneratedValue(strategy="AUTO")
 */
private $id;

/**
 * @var string
 *
 * @ORM\Column(name="name", type="string", length=45, nullable=true)
 */
private $name;

/**
 * @var string
 *
 * @ORM\Column(name="location", type="string", length=45, nullable=true)
 */
private $location;

/**
 * @var string
 *
 * @ORM\Column(name="zipcode", type="string", length=45, nullable=true)
 */
private $zipcode;


/**
 * @var string
 *
 * @ORM\Column(name="description", type="string", length=45, nullable=true)
 */

private $description;

/**
* @ORM\OneToMany(targetEntity="Waiter", mappedBy="bar", fetch="EXTRA_LAZY")
*/ 
protected $waiters;

/**
* @ORM\OneToMany(targetEntity="Table_", mappedBy="bar", fetch="EXTRA_LAZY")
*/ 
protected $tables;

/** @ORM\OneToMany(targetEntity="Stock_food", mappedBy="bar", fetch="EXTRA_LAZY") */

private $stockfoods;

/** @ORM\OneToMany(targetEntity="Stock_drink", mappedBy="bar", fetch="EXTRA_LAZY") */

private $stockdrinks;
我只想检索酒吧实体,而不需要关联它们的实体(服务员、桌子、库存饮料、库存食品)

响应是所有数据,但我只需要名称、位置、zipcode和descriptionón

提前感谢

你好

我找到了解决办法!!我使用的是原始SQL查询,DBAL

    $conn = $em->getConnection();
    $sql = 'SELECT * FROM Bar';
    $stmt = $conn->prepare($sql);
    $stmt->execute();
    $bars = $stmt->fetchAll();

谢谢

最简单的解决方案是在您的存储库中添加一个自定义方法,并在不使用ORM快捷方式(如findOneBy、findAll等)的情况下编写查询。我想使用ORM,因为我需要使用对象而不是DQL中的查询。您确定获得了完整的对象吗?在我看来,您只能获得代理类(将创建代理类)。EXTRA_LAZY不进行连接-相反,如果您试图从此类对象中获取属性,则会进行额外的SQL查询以澄清,如果您编写自定义查询,则可以检索对象。只检索所需的数据/对象很简单。花点时间深入阅读文档。虽然在所有关联的实体中,我都将fetch额外延迟,但当我执行查询时,它会返回所有关联的实体。