我正在建立一个具有电影分级系统的电影数据库,我希望平均显示最受好评的电影。
这是我的数据库的结构:
表movies_ratings:id | movie_id(themoviedb api)|评分 桌电影:id | movie_id |标题|概述|流派|海报路径|受欢迎程度(themoviedb API)
我的型号有我的班级评分:
class Rating extends Connection {
public function rate($id, $value) {
$sql = 'INSERT INTO `movies_ratings` (`movie_id`, `rating`) VALUES(?, ?)';
$params = [$id, $value];
$req = $this->query($sql, $params);
}
public function avg($id) {
$sql = 'SELECT AVG(`rating`) AS avg FROM `movies_ratings` WHERE `movie_id` ='.$id;
$params = [$id];
return $req = $this->query($sql, $params, 'one');
}
}
我提供了按受欢迎程度显示电影的功能,并且可以正常工作:
public function getPopularMovies($offset = null) {
$sql = 'SELECT * FROM `movies` ORDER BY `popularity` DESC';
if ($offset) $sql .= ' LIMIT '.$offset;
return $this->query($sql, null, 'all');
}
但是我无法执行按等级显示电影的功能。你能帮我吗?
谢谢
答案 0 :(得分:1)
在数据库方面,您可能希望立即获得整个电影列表以及平均评分。我将其分成几行以提高可读性。
7.1.2