我意识到Doctrine存储库和Doctrine实体之间存在差异。
我正在尝试在表上实现简单的CRUD操作,并将默认的Doctrine存储库注入到我的控制器中(不注入实体)。
对于“更新”操作,我首先->find($id)
要更新记录,它将返回实体的实例,以便我绑定到我的表单对象。
对于“创建”操作,我意识到我不能->find($id)
要插入的记录(因为它不存在),以便检索实体的实例以便我绑定到我的表单对象。
是否存在使用Doctrine插入数据而没有实体实例的替代方法?或者有没有办法从存储库中检索实体的实例,以便我可以->bind()
到表单?如果两者的答案都是否定的,那么我想我唯一的选择是将实体的实例注入我的控制器,或者使用包含一个方法的自定义存储库,该方法将返回在->bind()
中使用的实体插入。
我的猜测是定义一个自定义存储库,它有一个方法可以检索空实体实例以便在插入时使用。这个假设是否正确?
答案 0 :(得分:4)