CakePHP paginate';虚拟';领域

CakePHP paginate';虚拟';领域,cakephp,virtual,field,paginate,Cakephp,Virtual,Field,Paginate,我有一个模型项及其相应的表项和字段(字段1、字段2等) 我有另一个模型,Comment,还有它的表和字段。其中一个字段是项目评分,用户在该字段中输入一个介于0到10之间的数字,对项目进行评分 这两个模型都是相关的,比如项目有许多评论,评论属于项目 在视图中为项目模型分页时,我想添加项目(评级字段以及它自己的字段,这样用户可以看到项目的平均评级,并能够按照项目(评级)排序,除了直接属于项目的所有其他字段之外 为此,我想我需要两件事: 能够使用所有评分的平均值动态创建项目评分字段 能够将该字段添加

我有一个模型及其相应的表和字段(字段1、字段2等)

我有另一个模型,Comment,还有它的表和字段。其中一个字段是项目评分,用户在该字段中输入一个介于0到10之间的数字,对项目进行评分

这两个模型都是相关的,比如项目有许多评论评论属于项目

在视图中为项目模型分页时,我想添加项目(评级字段以及它自己的字段,这样用户可以看到项目的平均评级,并能够按照项目(评级)排序,除了直接属于项目的所有其他字段之外

为此,我想我需要两件事:

  • 能够使用所有评分的平均值动态创建项目评分字段
  • 能够将该字段添加到分页中,以便用户可以查看该字段并按其排序
这可能吗?有人能给我指出如何实现这一目标的正确方向吗?或者我应该只在我的项目表中添加一个真正的项目评分字段,并在每次用户添加新评分时更新平均值吗


非常感谢

对我来说,最好的方法是在父表中使用实字段。以下是您可以用于您的目的的行为:

编辑:


您可以自己完成这些功能。只需在父表中创建一个字段,该字段将保存平均评级。然后在评级模型中的afterSave()上,添加用平均值填充父表中该字段的功能。

对我来说,最好的方法是在父表中使用真实字段。以下是您可以用于您的目的的行为:

编辑:


您可以自己完成这些功能。只需在父表中创建一个字段,该字段将保存平均评级。然后,在评级模型中的afterSave()上,添加用平均值填充父表中该字段的功能。

嘿,谢谢您的链接。然而,我得到了典型的错误“headers ready by…aggregate_cache.php发送”。这就是示例中的文件,所以我不知道它是否有问题,我正在使用它。你知道会出什么问题吗?或者您有其他行为或方法吗?好的,我刚刚修复了,直接从网页复制代码时出现问题。我先把它复制到记事本上,然后复制到编辑器上,错误就消失了。然而,我似乎不能让它做应该做的事情…这不是我的代码,我也不知道细节。更多详细信息,请参阅我的修订答案。我已将其付诸实施!问题是我没有意识到在这种情况下它只适用于新条目(注释)。以前(数据库中)存在的内容将无法正确分页/排序。谢谢你的提示!嘿,谢谢你的链接。然而,我得到了典型的错误“headers ready by…aggregate_cache.php发送”。这就是示例中的文件,所以我不知道它是否有问题,我正在使用它。你知道会出什么问题吗?或者您有其他行为或方法吗?好的,我刚刚修复了,直接从网页复制代码时出现问题。我先把它复制到记事本上,然后复制到编辑器上,错误就消失了。然而,我似乎不能让它做应该做的事情…这不是我的代码,我也不知道细节。更多详细信息,请参阅我的修订答案。我已将其付诸实施!问题是我没有意识到在这种情况下它只适用于新条目(注释)。以前(数据库中)存在的内容将无法正确分页/排序。谢谢你的提示!