学说不能正确地映射关系



我有一个与另一个实体的实体关系:

/**
 * @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'**)

,但这并不是在这里真正推荐的,除非您每次需要此加入数据。

检查学说文档,有很多精力。

希望这会有所帮助。

最新更新