GameIndividualDAO   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 58
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 39
dl 0
loc 58
rs 10
c 0
b 0
f 0
wmc 3

2 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 2 1
A getGameIndividualsForGame() 0 45 2
1
<?php
2
namespace AL\Common\DAO;
3
4
require_once __DIR__."/../../lib/Db.php" ;
5
require_once __DIR__."/../Model/Game/GameIndividual.php" ;
6
require_once __DIR__."/../Model/Game/Game.php" ;
7
require_once __DIR__."/../Model/Individual/Individual.php" ;
8
require_once __DIR__."/../Model/Individual/IndividualRole.php" ;
9
10
/**
11
 * DAO for game individuals
12
 */
13
class GameIndividualDAO {
14
    private $mysqli;
15
16
    public function __construct($mysqli) {
17
        $this->mysqli = $mysqli;
18
    }
19
20
    /**
21
     * Get list of individual and their roles for a game
22
     *
23
     * @param integer Game ID
24
     * @return \AL\Common\Model\Game\GameIndividual[] A list of individual with roles
25
     */
26
    public function getGameIndividualsForGame($game_id) {
27
        $stmt = \AL\Db\execute_query(
28
            "GameIndividualDAO: getGameIndividualsForGame",
29
            $this->mysqli,
30
            "SELECT
31
                game_individual.id,
32
                game.game_id,
33
                game.game_name,
34
                individuals.ind_id,
35
                individuals.ind_name,
36
                individual_role.id,
37
                individual_role.name
38
            FROM game_individual
39
            LEFT JOIN game ON (game_individual.game_id = game.game_id)
40
            LEFT JOIN individuals ON (game_individual.individual_id = individuals.ind_id)
41
            LEFT JOIN individual_role ON (game_individual.individual_role_id = individual_role.id)
42
            WHERE game_individual.game_id = ?",
43
            "i", $game_id
44
        );
45
46
        \AL\Db\bind_result(
47
            "GameIndividualDAO: getGameIndividualsForGame",
48
            $stmt,
49
            $game_individual_id,
50
            $game_id,
51
            $game_name,
52
            $individual_id,
53
            $individual_name,
54
            $role_id,
55
            $role_name
56
        );
57
58
        $game_individuals = [];
59
        while ($stmt->fetch()) {
60
            $game_individuals[] = new \AL\Common\Model\Game\GameIndividual(
61
                $game_individual_id,
62
                new \AL\Common\Model\Game\Game($game_id, $game_name),
63
                new \AL\Common\Model\Individual\Individual($individual_id, $individual_name),
64
                new \AL\Common\Model\Individual\IndividualRole($role_id, $role_name)
65
            );
66
        }
67
68
        $stmt->close();
69
70
        return $game_individuals;
71
    }
72
}
73