InterviewDAO   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 55
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 36
dl 0
loc 55
rs 10
c 0
b 0
f 0
wmc 3

2 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 2 1
A getLatestInterviews() 0 42 2
1
<?php
2
namespace AL\Common\DAO;
3
4
require_once __DIR__."/../../lib/Db.php" ;
5
require_once __DIR__."/../Model/Interview/Interview.php" ;
6
7
/**
8
 * DAO for Interview
9
 */
10
class InterviewDAO {
11
    private $mysqli;
12
13
    public function __construct($mysqli) {
14
        $this->mysqli = $mysqli;
15
    }
16
17
    /**
18
     * Return the latest interviews, sorted by descending date
19
     *
20
     * @param integer $limit How many interviews to return
21
     * @return \AL\Common\Model\Interview\Interview[] An array of interviews
22
     */
23
    public function getLatestInterviews($limit = 20) {
24
        $stmt = \AL\Db\execute_query(
25
            "InterviewDAO: getLatestInterviews",
26
            $this->mysqli,
27
            "SELECT
28
                interview_main.interview_id,
29
                interview_text.interview_intro,
30
                interview_text.interview_date,
31
                users.userid,
32
                individuals.ind_name
33
            FROM
34
                interview_main
35
            LEFT JOIN interview_text ON interview_text.interview_id = interview_main.interview_id
36
            LEFT JOIN users ON interview_main.user_id = users.user_id
37
            LEFT JOIN individuals ON individuals.ind_id = interview_main.ind_id
38
            ORDER BY
39
                interview_date
40
            DESC
41
            LIMIT ?",
42
            "i", $limit
43
        );
44
45
        \AL\Db\bind_result(
46
            "InterviewDAO: getLatestInterviews",
47
            $stmt,
48
            $id, $intro, $date, $user, $individual
49
        );
50
51
        $interviews = [];
52
        while ($stmt->fetch()) {
53
            $interviews[] = new \AL\Common\Model\Interview\Interview(
54
                $id,
55
                $intro,
56
                $date,
57
                $user,
58
                $individual
59
            );
60
        }
61
62
        $stmt->close();
63
64
        return $interviews;
65
    }
66
}
67