GameReviewDAO::__construct()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 2
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 1
nc 1
nop 1
dl 0
loc 2
rs 10
c 0
b 0
f 0
1
<?php
2
namespace AL\Common\DAO;
3
4
require_once __DIR__."/../../lib/Db.php" ;
5
require_once __DIR__."/../Model/Review/GameReview.php" ;
6
7
/**
8
 * DAO for Game Review
9
 */
10
class GameReviewDAO {
11
    private $mysqli;
12
13
    public function __construct($mysqli) {
14
        $this->mysqli = $mysqli;
15
    }
16
17
    /**
18
     * Return the latest game reviews, sorted by descending date
19
     *
20
     * @param integer $limit How many reviews to return
21
     * @return \AL\Common\Model\Review\GaneReview[] An array of reviews
22
     */
23
    public function getLatestGameReviews($limit = 20) {
24
        $stmt = \AL\Db\execute_query(
25
            "GameReviewDAO: getLatestGameReviews",
26
            $this->mysqli,
27
            "SELECT
28
                review_main.review_id,
29
                review_main.review_text,
30
                review_main.review_date,
31
                users.userid,
32
                game.game_name
33
            FROM
34
                review_game
35
            LEFT JOIN review_main ON review_main.review_id = review_game.review_id
36
            LEFT JOIN game ON game.game_id = review_game.game_id
37
            LEFT JOIN users ON review_main.user_id = users.user_id
38
            ORDER BY
39
                review_date
40
            DESC
41
            LIMIT ?",
42
            "i", $limit
43
        );
44
45
        \AL\Db\bind_result(
46
            "GameReviewDAO: getLatestGameReviews",
47
            $stmt,
48
            $id, $text, $date, $user, $game_name
49
        );
50
51
        $reviews = [];
52
        while ($stmt->fetch()) {
53
            $reviews[] = new \AL\Common\Model\Review\GameReview(
54
                $id,
55
                $text,
56
                $date,
57
                $user,
58
                $game_name
59
            );
60
        }
61
62
        $stmt->close();
63
64
        return $reviews;
65
    }
66
}
67