我有以下三种关系:
用户:
public function posts () {
return $this->hasMany(Post::class)->orderBy('created_at', 'DESC');
}
public function ratings () {
return $this->hasMany(Rating::class)->orderBy('created_at', 'DESC');
}
员额:
public function user () {
ret
我很难让用户给帖子打分。我的任务是使用户只对一个帖子进行一次评分。在“展示”页面上,我的帖子中包含了用于评级的单选按钮。如果用户第二次尝试评分,则需要更新用户为同一帖子所做的前一次评等。我面临的问题是,用户能够对一个帖子进行多次评分。如何解决这个问题?
用户模型:
class User < ApplicationRecord
has_many :posts
has_many :ratings
end
职位模式:
class Post < ApplicationRecord
has_many :ratings
belongs_to :user
end
评级模型
cla
我是Google大查询的新手,我想从数据库中提取帖子标题、帖子正文、评论、评分和创建日期,这些文章是在2010年或2010年以后为subreddit创建的,目前我已经能够使用以下方式查询所有subreddit评论
SELECT * FROM `pushshift.rt_reddit.comments` WHERE lower(subreddit)="politics"
但我的动机是加入评论和帖子表,以产生所需的结果,但我无法找到如何做到这一点,如何才能实现呢?如果需要更多的细节,请告诉我。谢谢
我发现了一个评分系统,用户可以在评论时对帖子进行评级。每件事都是好的,但我想要use的帖子的平均评分,以排序给用户根据平均评级(实际上,be能够查询)。我不知道我怎么能做到?rating_key和rating_value将保存在wp_commentmeta表中,但我希望保存wp_postmeta中每个帖子的平均评等值,以便能够基于它查询帖子。我可以获得每个帖子的平均评分,但是I不知道如何在 wp_postmeta as中保存和更新它--一个特殊的键(如avg_post):
get_results("SELECT meta_value FROM wp_commentmeta WHERE
我试图收集(例如,前20位)在一个给定的subreddit中投票最多的帖子中最受欢迎的评论。
任何帮助都将不胜感激!
我已经了解了在bigquery中使用的代码,但是我似乎无法在没有重复问题的情况下获得post评分和注释分数。
SELECT posts.title, posts.score, comments.body, posts.subreddit
FROM `fh-bigquery.reddit_comments.2018_10` AS comments
JOIN `fh-bigquery.reddit_posts.2018_10` AS posts
ON posts.id = SUB
嗨,我甚至不知道如何恰当地描述这个,为这个糟糕的标题道歉: 我有用户写的帖子,可以有评级,这些评级与电影捆绑在一起。我想计算平均评分,但目前单个用户正在计算多次。有没有可能找到某个特定用户的最新帖子,并且只在计算中使用这个帖子,但是对于每个拥有该电影评级的帖子的用户,是否可以这样做呢?从本质上讲,我想把所有用户的最新评分取平均。 我目前有这个: MATCH (Movie { name: "The Dark Knight"})-[:HAS_RATING]-(r:Rating)-[]-(p:Post)-[]-(u:User)
WITH DISTINCT u, avg(r.valu
我有下表:
评分:
ID | post_id | rating_type
rating_type字段可以是“拇指向上”或“拇指向下”。我想得到一个结果集,告诉我评分最高的帖子是什么。下面的查询给出了一个结果集,其中包含每个唯一post_id的up票数。
SELECT COUNT(post_id) as number_up, post_id FROM wp_sp_post_ratings WHERE rating_type = 'thumb-up' GROUP BY post_id
太棒了!我可以对拇指向下的评级类型执行类似的操作。然而,我需要的是获得总评分,其中每个拇指向上给一
我正在使用ORM,我需要获得帖子和他们的最高和最低评分的评论。ORM执行下一个查询,以获取我查询的帖子的所有评论: select *
from `comments`
where `comments`.`post_id` in (1, 2, 3, 4)
order by `rating` desc 目前,我在应用程序中手动过滤评论。 如何将此查询更改为每个帖子仅返回2条评论-帖子上的最高评级(MAX(评级))和最低评级(MIN(评级))评论?每个帖子至少有2条评论。
我正在用laravel构建博客应用程序,并为此使用3个表:用户、帖子和评分。用户登录后,除其他外,还可以对帖子进行评分。因此,我在post表中添加了列avgRating来存储每个帖子的平均评分。
我试图在mysql中不使用laravel执行这段代码。
UPDATE posts p
SET p.avgRating=
(SELECT ROUND(AVG(r.rating), 0)
FROM ratings r
WHERE p.id=r.rateable_id)
而且起作用了。我试着用PostController.php写成这样
public
我有一个要求,其中需要有自定义评分的名称。为了简单起见,假设我根据索引中的姓名搜索'Smith‘,逻辑应该是:
if input = exact 'Smith' then score = 100%
else
if input = phonetic match then
score = <depending upon fuzziness match of input with name>%
end if
end if;
我可以搜索模糊度为1的文档,但我不知道如何根据模糊度给它打分。谢谢!
更新:我浏览了一个和我有相同要求的帖子,上面提到这个人使用原
我有一个有许多评级的帖子模型,我想在帖子评级db列中存储每个帖子的平均评级数字。我在post模型上有一个计数器缓存,它计算评分的数量。
我的post.rb中有以下代码
def update_rating
if self.ratings_count_changed?
self.rating = self.ratings.average(:rating)
end
end
我有一个before_save回调,所以无论何时编辑和保存帖子,它都会更新评级,这不是很有用。
有没有办法在创建新的评级时调用此方法?
我正在尝试创建一个评分系统,需要从文件starating.php中调用一个函数并传递变量-- $id (帖子id)和评分百分比。我不确定如何调用这些变量,然后在starating.php中引用它们,这是我的代码:
$( function() {
var postID = <?php echo $id; ?>;
var rating = new starRating( { // create first star rating system on page load
containerId: '$id', // element id
假设有一个名为“users”的表、一个名为“posts”的表和一个名为“rating”的表,其中包含每个用户对每个帖子的评分(“喜欢”或“不喜欢”)。
create table ratings (
user_id int unsigned not null,
post_id int unsigned not null,
rating set('like','dislike') not null,
primary key (user_id, post_id)
);
给定一个帖子X,我想选择所有的帖子Y,这样给它们打分的用户都不会同时喜欢它们。此外,如果可能的话,我
我有两个模型用户和评级如下:
class User < ActiveRecord::Base
has_many :ratings
end
class Rating < ActiveRecord::Base
belongs_to :user
end
每个用户得到1-10的多个评分。我想返回所有平均评分大于5的用户。
User.joins(:ratings).where('rating > ?', 5)
但是,该代码返回所有评级高于5的用户,我希望用户的平均评分高于5。
我见过像和这样的其他帖子也在问类似的问题,但我今天头脑清醒,不能把他们的问题模拟成一