xref: /plugin/combo/ComboStrap/SqliteResult.php (revision c3437056399326d621a01da73b649707fbb0ae69)
1*c3437056SNickeau<?php
2*c3437056SNickeau
3*c3437056SNickeau
4*c3437056SNickeaunamespace ComboStrap;
5*c3437056SNickeau
6*c3437056SNickeau
7*c3437056SNickeauclass SqliteResult
8*c3437056SNickeau{
9*c3437056SNickeau    private $res;
10*c3437056SNickeau    /**
11*c3437056SNickeau     * @var SqliteRequest
12*c3437056SNickeau     */
13*c3437056SNickeau    private $sqlite;
14*c3437056SNickeau    /**
15*c3437056SNickeau     * @var \helper_plugin_sqlite
16*c3437056SNickeau     */
17*c3437056SNickeau    private $sqlitePlugin;
18*c3437056SNickeau
19*c3437056SNickeau    /**
20*c3437056SNickeau     * SqliteResult constructor.
21*c3437056SNickeau     */
22*c3437056SNickeau    public function __construct(SqliteRequest $sqlite, $res)
23*c3437056SNickeau    {
24*c3437056SNickeau        $this->sqlite = $sqlite;
25*c3437056SNickeau        $this->res = $res;
26*c3437056SNickeau        $this->sqlitePlugin = $this->sqlite->getSqliteConnection()->getSqlitePlugin();
27*c3437056SNickeau
28*c3437056SNickeau    }
29*c3437056SNickeau
30*c3437056SNickeau    public function getRows(): array
31*c3437056SNickeau    {
32*c3437056SNickeau        return $this->sqlitePlugin->res2arr($this->res);
33*c3437056SNickeau    }
34*c3437056SNickeau
35*c3437056SNickeau    public function close(): SqliteResult
36*c3437056SNickeau    {
37*c3437056SNickeau        $this->sqlitePlugin->res_close($this->res);
38*c3437056SNickeau        $this->res = null;
39*c3437056SNickeau        return $this;
40*c3437056SNickeau    }
41*c3437056SNickeau
42*c3437056SNickeau    public function getInsertId(): string
43*c3437056SNickeau    {
44*c3437056SNickeau        return $this->sqlitePlugin->getAdapter()->getDb()->lastInsertId();
45*c3437056SNickeau    }
46*c3437056SNickeau
47*c3437056SNickeau    public function getChangeCount()
48*c3437056SNickeau    {
49*c3437056SNickeau        return $this->sqlitePlugin->countChanges($this->res);
50*c3437056SNickeau    }
51*c3437056SNickeau
52*c3437056SNickeau    public function getFirstCellValue()
53*c3437056SNickeau    {
54*c3437056SNickeau        return $this->sqlitePlugin->res2single($this->res);
55*c3437056SNickeau    }
56*c3437056SNickeau
57*c3437056SNickeau    public function getFirstCellValueAsInt(): int
58*c3437056SNickeau    {
59*c3437056SNickeau        return intval($this->getFirstCellValue());
60*c3437056SNickeau    }
61*c3437056SNickeau
62*c3437056SNickeau    public function getFirstRow()
63*c3437056SNickeau    {
64*c3437056SNickeau        $rows = $this->getRows();
65*c3437056SNickeau        if(sizeof($rows)>=1){
66*c3437056SNickeau            return $rows[0];
67*c3437056SNickeau        }
68*c3437056SNickeau        return [];
69*c3437056SNickeau    }
70*c3437056SNickeau
71*c3437056SNickeau
72*c3437056SNickeau}
73