Doctrine2-findAll()方法未获取关联数据


Doctrine2 findAll() method not grabbing associated data?

我有一个非常简单的问题。目前,在getRepository方法之后,我使用Doctrine2的findAll()方法,并且我有一个简单的OneToOne关系设置(Manufacturers有一个链接到Addresses的字段address_id,基本内容)。我试图用Manufacturer中的一个字段填充一个表,其余字段用关联的Address中的数据填充。

我在我的视图中这样做代码:

<?php foreach($instances as $instance) { ?>
<?php $address = $instance->address; ?>
  <tr>
    <td><?php echo $instance->name; ?></td>
    <td><?php echo $address->street; ?></td>
    <td><?php echo $address->city; ?></td>
    <td><?php echo $address->state; ?></td>
    <td><?php echo $address->zip; ?></td>
  </tr>
<?php } ?>

其中CCD_ 9是CCD_。每个属性都是公共的,但由于某种原因,Doctrine2不会在调用findAll() Manufacturers的同时提取关联的Address数据。我做错了什么?

这就是我用来获取数据的东西:

$instances = $this->doctrine->em->getRepository('Entities'Manufacturer')->findAll();

我是否需要以某种方式向条令指定我也想获取相关数据?

默认情况下,所有条令关联都是惰性加载。原则是使用代理对象使相关数据的延迟加载成为可能。对于每个字段,在代理类中创建getter。您只需要调用getter,而不需要直接访问公共属性。建议在实体中声明所有字段为私有字段,并为它们定义getter和setter。