当前位置: 首页 > 知识库问答 >
问题:

使用LIferay API对内容进行评级

洪德寿
2023-03-14

我有一个自定义Portlet,显示Liferay的一些内容,我必须能够对这些内容进行评级。我为您恢复此内容的评级信息

RatingsStats currentRate = RatingsStatsLocalServiceUtil.getStats(JournalArticle.class.getName(),
                    article.getResourcePrimKey());

但疯狂的是,当我更新这个表的任何字段时,比如currentRate。getTotalEntries(),数据未更新。

我附上了完整的方法和日志。

article = JournalArticleLocalServiceUtil.getArticle(primKey);           
RatingsStats currentRate = RatingsStatsLocalServiceUtil.getStats(JournalArticle.class.getName(),
                    article.getResourcePrimKey());
LOG.debug("ratingStats entrada a editar: " + currentRate.getStatsId());
LOG.debug("currentRate.getTotalEntries() BEFORE:  " + currentRate.getTotalEntries());
currentRate.setTotalEntries(currentRate.getTotalEntries()+1);
LOG.debug("currentRate.getTotalEntries() AFTER:  " + currentRate.getTotalEntries());

日志如下:

11:35:18,634 DEBUG [AgregadoresContenidosController:262] ratingStats entrada a editar: 110551
11:35:18,634 DEBUG [AgregadoresContenidosController:263] currentRate.getTotalEntries() BEFORE:  0
11:35:18,635 DEBUG [AgregadoresContenidosController:265] currentRate.getTotalEntries() AFTER:  1

每次我getTotalEntry,值是'0',不更新。

任何想法?

提前感谢

共有1个答案

丁淇
2023-03-14

我以为数据库的更新会自动与方法的设置,但我错了。

为了在DDBB中进行更新,需要使用以下行。

RatingsStatsLocalServiceUtil.updateRatingsStats(currentRate);

疑点已解决:)

 类似资料:
  • 问题内容: 我正在尝试使用(使用最新的Webkit)下载二进制文件,并使用以下简单功能对base64的内容进行编码: 附带说明一下,以上所有内容都是标准Javascript内容,包括和 这工作非常顺利,我什至可以使用Javascript解码base64内容: 现在,我想使用Python解码base64编码的内容,该内容使用一些JSON字符串来获取字符串值。天真的,这就是我的工作: 但是生成的文件无

  • 我在一个页面上有三个SVG图像。一个是“图像编辑器”,你可以输入一些文本,一个图标,拖动和左右缩放,等等。 另外两个SVG通过use元素使用来自顶部SVG的内容,并显示最终结果的预览。 当我在编辑器中编辑一些东西时,这两个预览会自动更新。很完美.但我不想在底部两个预览SVG中显示边界框、转换工具、指南等。 有没有一种方法可以对那些SVG的(阴影)DOM进行样式化(CSS)或操作(JS)以不显示这些

  • 问题内容: 我想在Docx文档中找到注释(以某种方式,通过作者或ID…),然后创建新内容。 问题答案: 正如我在您的问题中链接的答案中所说的那样,到目前为止,在创建过程中,它只会读取该程序包的一部分。没有写访问权限,也没有创建该程序包部件的可能性。在XWPFDocument.java中提到了这一点-受保护的void onDocumentRead() :代码行210:“ // TODO根据XWPFC

  • 我想达到的,大致可以概括为一个简单的或者有条件的。 虽然使用Fluent验证支持其他属性上的条件属性验证(When/Unless ),但似乎没有一种方法支持同一属性上的条件规则。还是我错过了什么? 本质上我想实现: 唯一的替代方法是将规则组合在一个自定义规则中? 然而,这紧密地耦合了规则逻辑,实际上它们是完全独立的条件,我可能想在其他对象/字段上使用。 有人建议在 FluentValidation

  • 问题内容: 有没有一种快速的方法来对选择元素的项目进行排序?还是我不得不写JavaScript? 请任何想法。 问题答案: 这将达到目的。只要将您的select元素传递给la:当您需要对列表进行排序时。

  • 我想用IntelliJ IDEA2018.3.4将控制台输出记录到一个文件中。 我找到了这个答案,但是,我需要的是日志文件来记录多次运行,相反,最后一次运行会覆盖日志文件。 根据官方文档,我应该通过勾选“run/Debug Configurations”中的“Skip Content”复选框来获得连续日志记录,但我仍然只能获得日志中的最后一次运行。 我这样做对吗?还是有别的办法?