我对教义有疑问。我有一个包含文件夹和文件的文件管理器。
现在我想将组保存到目录或单个文件中。对于单个项目,它可以工作。
但是,如果我想递归保存组权限,它将无法正常工作。Doctrine 不会抛出错误或异常。但它不会保存对子目录和子目录中的文件的更改。
这是我的模型:
模型 Model_File_Item 和 Model_File_Dir 都扩展了这个模型。一切正常,直到方法“setGroupsRecursive()”想要将组保存到目录或文件。
我已经在文件中写了日志.. 一切都很好,每个项目都将被保存,但更改不会保存在数据库中,我不知道为什么。
编辑:组定义如下所示:
Model_File_Dir & Model_File_Item:
/**
* Owning Side
*
* @ManyToMany(targetEntity="Model_Group", inversedBy="dirs")
* @JoinTable(name="dir_groups",
* joinColumns={@JoinColumn(name="dir_id", referencedColumnName="id")},
* inverseJoinColumns={@JoinColumn(name="group_id", referencedColumnName="id")}
* )
*/
protected $groups;
Model_Group 看起来像这样:
/**
* @ManyToMany(targetEntity="Model_File_Dir", mappedBy="groups")
*/
protected $dirs;
/**
* @ManyToMany(targetEntity="Model_File_Item", mappedBy="groups")
*/
protected $files;