我怀疑在CakePHP中进行分页。
好吧,我会尽量简明扼要。
我有3个表,其中一个表是我分页的(第一个表),另一个表(第2个表)与此表相关(第一个表具有FK到第二个表),而最重要的第三个表具有FK到第一个表。因此:第3个表->第1个表->第2个表。我从他的控制器对第一个表(模型)进行分页,到目前为止一切正常,分页列出了表bd中的所有记录,没有问题。
我还需要从第一张表中获取记录,但要从第二张表中的记录进行排序。没问题。问题是:我不想分页,从第1个表(我对其分页)中的记录没有出现在第3个表中。
问题在于,CAKEPHP首先进行查询以从第一张表+第二张表中获取记录。此后,它根据从第一个查询获得的记录(PK)从第三张表中获取记录,所以我不能这么说:不从第一张表中获取第三张表中没有的记录。
我怎样才能做到这一点?
我希望我能解释。
非常感谢你。
问候。
您要使用的是计数器缓存。转到http://book.cakephp.org/2.0/en/models/associations-linking-models-together.html并搜索“ counterCache”,您将找到说明。
基本上,您想在模型1中实现一个“计数器缓存”字段,该字段会自动保留模型3中链接记录的数量。然后,要从模型1中排除在模型3中没有相关记录的记录,您只需添加分页条件,表示计数器缓存字段必须大于0。
更新:
如果您不能使用CakePHP的计数器缓存,则应使用虚拟字段模拟计数器缓存的行为-请参见http://book.cakephp.org/2.0/en/models/virtual-fields.html
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句