Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

| Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
1 www 1
<?php
2
 
3
declare(strict_types=1);
4
 
5
namespace LeadersLinked\Mapper;
6
 
7
use Laminas\Db\Adapter\AdapterInterface;
8
use Laminas\Db\ResultSet\HydratingResultSet;
9
use Laminas\Paginator\Adapter\DbSelect;
10
use Laminas\Paginator\Paginator;
11
use Laminas\Log\LoggerInterface;
12
use Laminas\Hydrator\ArraySerializableHydrator;
13
 
14
 
15
use LeadersLinked\Model\UserInMail;
16
use LeadersLinked\Mapper\Common\MapperCommon;
17
use LeadersLinked\Hydrator\ObjectPropertyHydrator;
18
 
19
class UserInMailMapper extends MapperCommon
20
{
21
    const _TABLE = 'tbl_user_inmails';
22
 
23
 
24
    /**
25
     *
26
     * @var UserInMailMapper
27
     */
28
    private static $_instance;
29
 
30
    /**
31
     *
32
     * @param AdapterInterface $adapter
33
     */
34
    private function __construct($adapter)
35
    {
36
        parent::__construct($adapter);
37
    }
38
 
39
    /**
40
     *
41
     * @param AdapterInterface $adapter
42
     * @return UserInMailMapper
43
     */
44
    public static function getInstance($adapter)
45
    {
46
        if(self::$_instance == null) {
47
            self::$_instance = new UserInMailMapper($adapter);
48
        }
49
        return self::$_instance;
50
    }
51
 
52
    /**
53
     *
54
     * @param int $user_id
55
     * @return UserInmail
56
     */
57
    public function fetchOneByUserId($user_id)
58
    {
59
        $select = $this->sql->select(self::_TABLE);
60
        $select->where->equalTo('user_id', $user_id);
61
 
62
        $prototype = new UserInmail();
63
        return $this->executeFetchOneObject($select, $prototype);
64
    }
65
 
66
    /**
67
     *
68
     * @param UserInmail $userInMail
69
     * @return boolean
70
     */
71
    public function insert($userInMail)
72
    {
73
        $hydrator = new ObjectPropertyHydrator();
74
        $values = $hydrator->extract($userInMail);
75
 
76
        $insert = $this->sql->insert(self::_TABLE);
77
        $insert->values($values);
78
 
79
        return $this->executeInsert($insert);
80
    }
81
 
82
    /**
83
     *
84
     * @param UserInmail $userInMail
85
     * @return boolean
86
     */
87
    public function update($userInMail)
88
    {
89
        $hydrator = new ObjectPropertyHydrator();
90
        $values = $hydrator->extract($userInMail);
91
 
92
        $update = $this->sql->update(self::_TABLE);
93
        $update->set($values);
94
        $update->where->equalTo('user_id', $userInMail->user_id);
95
 
96
        return $this->executeUpdate($update);
97
 
98
    }
99
}