Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

Ir a la última revisión | | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
1 www 1
<?php
2
declare(strict_types=1);
3
 
4
namespace LeadersLinked\Mapper;
5
 
6
use LeadersLinked\Model\CompanyMicrolearningExtendUser;
7
use LeadersLinked\Mapper\Common\MapperCommon;
8
use Laminas\Db\Adapter\AdapterInterface;
9
use Laminas\Log\LoggerInterface;
10
use LeadersLinked\Hydrator\ObjectPropertyHydrator;
11
 
12
 
13
class CompanyMicrolearningExtendUserMapper extends MapperCommon
14
{
15
    const _TABLE = 'tbl_company_microlearning_extend_user';
16
 
17
 
18
    /**
19
     *
20
     * @var CompanyMicrolearningExtendUserMapper
21
     */
22
    private static $_instance;
23
 
24
    /**
25
     *
26
     * @param AdapterInterface $adapter
27
     */
28
    private function __construct($adapter)
29
    {
30
        parent::__construct($adapter);
31
    }
32
 
33
    /**
34
     *
35
     * @param AdapterInterface $adapter
36
     * @param LoggerInterface $logger
37
     * @param int $user_id
38
     * @return \LeadersLinked\Mapper\CompanyMicrolearningExtendUserMapper
39
     */
40
    public static function getInstance($adapter)
41
    {
42
        if(self::$_instance == null) {
43
            self::$_instance = new CompanyMicrolearningExtendUserMapper($adapter);
44
        }
45
        return self::$_instance;
46
    }
47
 
48
    /**
49
     *
50
     * @param int $id
51
     * @return CompanyMicrolearningExtendUser
52
     */
53
    public function fetchOne($id)
54
    {
55
        $prototype = new CompanyMicrolearningExtendUser();
56
        $select = $this->sql->select(self::_TABLE);
57
        $select->where->equalTo('id', $id);
58
 
59
        return $this->executeFetchOneObject($select, $prototype);
60
    }
61
 
62
    /**
63
     *
64
     * @param int $company_id
65
     * @return CompanyMicrolearningExtendUser[]
66
     */
67
    public function fetchAllByCompanyId($company_id)
68
    {
69
        $prototype = new CompanyMicrolearningExtendUser();
70
        $select = $this->sql->select(self::_TABLE);
71
        $select->where->equalTo('company_id', $company_id);
72
 
73
        return $this->executeFetchAllObject($select, $prototype);
74
    }
75
 
76
    /**
77
     *
78
     * @param int $company_id
79
     * @param int $user_id
80
     * @return CompanyMicrolearningExtendUser
81
     */
82
    public function fetchOneByCompanyIdAndUserId($company_id, $user_id)
83
    {
84
        $prototype = new CompanyMicrolearningExtendUser();
85
        $select = $this->sql->select(self::_TABLE);
86
        $select->where->equalTo('company_id', $company_id);
87
        $select->where->equalTo('user_id', $user_id);
88
 
89
        return $this->executeFetchOneObject($select, $prototype);
90
    }
91
 
92
 
93
 
94
    /**
95
     *
96
     * @param CompanyMicrolearningExtendUser $companyMicrolearningExtendUser
97
     * @return boolean
98
     */
99
    public function insert($companyMicrolearningExtendUser)
100
    {
101
        $hydrator = new ObjectPropertyHydrator();
102
        $values = $hydrator->extract($companyMicrolearningExtendUser);
103
        unset($values['added_on']);
104
        unset($values['updated_on']);
105
 
106
        $insert = $this->sql->insert(self::_TABLE);
107
        $insert->values($values);
108
 
109
 
110
 
111
        $result = $this->executeInsert($insert);
112
        if($result) {
113
            $companyMicrolearningExtendUser->id = $this->lastInsertId;
114
        }
115
 
116
        return $result;
117
    }
118
 
119
    /**
120
     *
121
     * @param CompanyMicrolearningExtendUser $companyMicrolearningExtendUser
122
     * @return boolean
123
     */
124
    public function update($companyMicrolearningExtendUser)
125
    {
126
        $hydrator = new ObjectPropertyHydrator();
127
        $values = $hydrator->extract($companyMicrolearningExtendUser);
128
        unset($values['added_on']);
129
        unset($values['updated_on']);
130
 
131
 
132
 
133
        $update = $this->sql->update(self::_TABLE);
134
        $update->set($values);
135
        $update->where->equalTo('id', $companyMicrolearningExtendUser->id);
136
 
137
        return $this->executeUpdate($update);
138
    }
139
 
140
    /**
141
     *
142
     * @param int $id
143
     * @return boolean
144
     */
145
    public function delete($id)
146
    {
147
        $delete = $this->sql->select(self::_TABLE);
148
        $delete->where->equalTo('id', $id);
149
 
150
        return $this->executeDelete($delete);
151
    }
152
 
153
 
154
}