星级评分系统。数据库中的保存率

Rating System with Stars. Save rate in DB

我创建了一种博客,例如,我有文章。 在每篇文章中,我都实现了一个以图形方式工作的星级评分插件。

这是视图的屏幕截图:

为了让它工作,我使用了 jRate 插件,并在页面中添加了这个 JavaScript 块:

    {% block javascripts %}
    <script type="text/javascript">
        $(function () {
            var that = this;
            var toolitup = $("#jRate").jRate({
                minSelected: 0,
                                maxSelected: 5,
                                readOnly: false,
                                shape: 'STAR',
                                width: 30,
                                height: 30,
                                precision: 1,

                onChange: function(rating) {
                    $('#demo-onchange-value').text("Il tuo voto: "+rating);
                },
            });

});

    </script>
        {% endblock %}

“+rating”变量当然是费率。所以我在想我可以使用该变量将它保存在数据库中我的文章 table 的字段中。 所以我在文章实体中添加了一个新字段:

/**
 * @var integer
 *
 * @ORM\Column(name="rate", type="integer",nullable=true)
 */
private $rate;

如何保存该字段中的评分?

对于星级评分,我一直使用 https://github.com/blackknight467/StarRatingBundle。如果你想使用自己的实现,至少你可以看看他们是怎么做的。 Basically the rating field is represented by a hidden input, and when the stars selected changed , also change the value of the input.在提交表单时,该字段通常保存为整数。希望对你有帮助。