我有一个与另一个实体的实体关系:
/**
* @ORMEntity
* @ORMTable(name="tb_promocao")
*/
class Promocao {
/**
* @ORMId
* @ORMColumn(type="integer")
* @ORMGeneratedValue(strategy="AUTO")
*/
private $codigo;
/**
* @ORMOneToOne(targetEntity="ApplicationModelProdutoProduto")
* @ORMJoinColumn(name="cod_produto", referencedColumnName="codigo")
*/
private $produto;
}
/**
* @ORMEntity
* @ORMTable(name="tb_produto")
*/
class Produto {
/**
* @ORMId
* @ORMColumn(type="integer")
* @ORMGeneratedValue(strategy="AUTO")
*/
private $codigo;
(...)
}
问题是,当我尝试在Promocao中提供一个fetch实体时,属性$ produto并未与produto实体正确填充。
produto实体未正确映射在接收该关系的属性上。
的对象:entityproxy__cg __ application model produto produto
这是正常操作。您加入的型号是懒惰的负载,所以当您不称呼它时,您只会有一个代理。
您可以修改加载类型连接的模型将其设置为急切的模式:
@ORMOneToOne(targetEntity="ApplicationModelProdutoProduto")
@ORMJoinColumn(name="cod_produto", referencedColumnName="codigo", **fetch='EAGER'**)
,但这并不是在这里真正推荐的,除非您每次需要此加入数据。
检查学说文档,有很多精力。
希望这会有所帮助。