jjzjj

patchEntity

全部标签

php - CakePHP v3 : How to get patchEntity to update associations in request data

我正在使用patchEntity()来更新hasMany关联并且它工作正常。我的问题与数据库中保存的数据无关。我的问题是存储在实体变量中的关联数据不同步...请注意,在下面的方法中,我必须在保存后执行第二个get()以从数据库重新读取数据。如果我删除它,下一个View将显示陈旧的关联数据,因为patchEntity更新了外键,但实际的关联对象仍然是前一个(保存之前的)。我希望有一种方法可以避免连续进行两个数据库查询。这是预期的行为吗?有更好的方法吗?publicfunctionedit($id=null){//1/////////////////////////////////////

php - CakePHP 3.1 patchEntity 在清洁时总是将 belongsToMany 关联标记为脏

所以我注意到,如果我修补一个实体(编辑方法),并且如果它有belongsToMany关联,我是否对记录进行任何数据更改,它会将它们标记为脏。我希望如果我不对View中的BTM多选进行任何更改,数据就不会变脏,只有在多选中添加或删除选项才会在修补后将其标记为脏。数据确实保存正确,它只是脏了,但我需要采取行动知道它是脏的还是干净的,因为我的map表中有_join数据。映射表名为users_locations并具有id、user_id、location_id和static,其中static是一个tinyint/bool。我想做的是仅为新创建的映射表条目标记静态。我注意到patchEntity