在CakePHP项目中,在bake
期间,我在模型之间放置了所有可能的关联,现在我想清理我的代码并删除那些不必要的代码,但另一方面,如果我不小心删除了正在使用的东西,什么可能导致应该修复的新错误?
所以,问题是,如果我在模型之间定义了一些关联,无论是belongsTo
,hasMany
还是hasAndBelongsToMany
,这会以某种方式影响性能,考虑到我我一直在使用Containable
,对于每个查询,我都指定了我需要的确切模型和字段吗?
答案 0 :(得分:1)
完全没有。实际上我因此遇到了一个问题。
Cake加载由当前模型立即关联的模型。
举例:Trunk hasMany Branch hasMany Leaf
假设您正在使用Trunk模型,Cake将加载Trunk和Branch模型。加载模型只会对数据库进行描述调用,然后缓存该数据库。在->find
电话的范围之外,不会对数据库执行任何搜索。
这给我带来了一个问题。如果您有一个表单并想要同时添加Trunk,Branch和Leaf,则formHelper不会知道Leaf中字段的格式,因为模型未加载。在这种情况下,请使用$this->loadModel
手动加载模型。