Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

| Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
6388 efrain 1
<?php
2
 
3
declare(strict_types=1);
4
 
5
namespace LeadersLinked\Mapper;
6
 
7
use LeadersLinked\Model\FastSurveyVote;
8
use LeadersLinked\Mapper\Common\MapperCommon;
9
use Laminas\Db\Adapter\AdapterInterface;
10
use Laminas\Log\LoggerInterface;
11
use LeadersLinked\Hydrator\ObjectPropertyHydrator;
12
use Laminas\Db\Sql\Expression;
13
use Laminas\Db\ResultSet\HydratingResultSet;
14
use Laminas\Paginator\Adapter\DbSelect;
15
use Laminas\Paginator\Paginator;
16
 
17
 
18
class FastSurveyVoteMapper extends MapperCommon
19
{
20
    const _TABLE = 'tbl_fast_survey_votes';
21
 
22
 
23
    /**
24
     *
25
     * @var FastSurveyVoteMapper
26
     */
27
    private static $_instance;
28
 
29
    /**
30
     *
31
     * @param AdapterInterface $adapter
32
     */
33
    private function __construct($adapter)
34
    {
35
        parent::__construct($adapter);
36
    }
37
 
38
    /**
39
     *
40
     * @param AdapterInterface $adapter
41
     * @param LoggerInterface $logger
42
     * @param int $user_id
43
     * @return \LeadersLinked\Mapper\FastSurveyVoteMapper
44
     */
45
    public static function getInstance($adapter)
46
    {
47
        if(self::$_instance == null) {
48
            self::$_instance = new FastSurveyVoteMapper($adapter);
49
        }
50
        return self::$_instance;
51
    }
52
 
53
 
54
    /**
55
     *
56
     * @param int $fast_survey_id
57
     * @param int $user_id
58
     * @return FastSurveyVote
59
     */
60
    public function fetchOneByFastSurveyIdAndUserId($fast_survey_id, $user_id)
61
    {
62
        $prototype = new FastSurveyVote;
63
        $select = $this->sql->select(self::_TABLE);
64
        $select->where->equalTo('fast_survey_id', $fast_survey_id);
65
        $select->where->equalTo('user_id', $user_id);
66
 
67
        return $this->executeFetchOneObject($select, $prototype);
68
    }
69
 
70
    /**
71
     *
72
     * @param FastSurveyVote $record
73
     * @return boolean
74
     */
75
    public function insert($record)
76
    {
77
        $hydrator = new ObjectPropertyHydrator();
78
        $values = $hydrator->extract($record);
79
        $values = $this->removeEmpty($values);
80
 
81
        $insert = $this->sql->insert(self::_TABLE);
82
        $insert->values($values);
83
 
84
        return $this->executeInsert($insert);
85
    }
86
 
87
    /**
88
     *
89
     * @param FastSurveyVote $record
90
     * @return boolean
91
     */
92
    public function delete($record)
93
    {
94
 
95
        $delete = $this->sql-delete(self::_TABLE);
96
        $delete->where->equalTo('fast_survey_id', $record->fast_survey_id);
97
        $delete->where->equalTo('user_id', $record->user_id);
98
 
99
        return $this->executeDelete($delete);
100
    }
101
 
102
 
103
 
104
    /**
105
     *
106
     * @param FastSurveyVote $record
107
     * @return boolean
108
     */
109
    public function update($record)
110
    {
111
        $hydrator = new ObjectPropertyHydrator();
112
        $values = $hydrator->extract($record);
113
        $values = $this->removeEmpty($values);
114
 
115
 
116
        $update = $this->sql->update(self::_TABLE);
117
        $update->set($values);
118
        $update->where->equalTo('fast_survey_id', $record->fast_survey_id);
119
        $update->where->equalTo('user_id', $record->user_id);
120
 
121
        return $this->executeUpdate($update);
122
 
123
    }
124
 
125
}