-
-
Notifications
You must be signed in to change notification settings - Fork 2k
/
Status.zep
89 lines (77 loc) · 1.93 KB
/
Status.zep
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
/**
* This file is part of the Phalcon Framework.
*
* (c) Phalcon Team <team@phalcon.io>
*
* For the full copyright and license information, please view the LICENSE.txt
* file that was distributed with this source code.
*/
namespace Phalcon\Mvc\Model\Query;
use Phalcon\Messages\MessageInterface;
use Phalcon\Mvc\ModelInterface;
/**
* Phalcon\Mvc\Model\Query\Status
*
* This class represents the status returned by a PHQL
* statement like INSERT, UPDATE or DELETE. It offers context
* information and the related messages produced by the
* model which finally executes the operations when it fails
*
*```php
* $phql = "UPDATE Robots SET name = :name:, type = :type:, year = :year: WHERE id = :id:";
*
* $status = $app->modelsManager->executeQuery(
* $phql,
* [
* "id" => 100,
* "name" => "Astroy Boy",
* "type" => "mechanical",
* "year" => 1959,
* ]
* );
*
* // Check if the update was successful
* if ($status->success()) {
* echo "OK";
* }
*```
*/
class Status implements StatusInterface
{
protected model;
protected success;
/**
* Phalcon\Mvc\Model\Query\Status
*/
public function __construct(bool success, <ModelInterface> model = null)
{
let this->success = success,
this->model = model;
}
/**
* Returns the messages produced because of a failed operation
*/
public function getMessages() -> <MessageInterface[]>
{
var model;
let model = this->model;
if typeof model != "object" {
return [];
}
return model->getMessages();
}
/**
* Returns the model that executed the action
*/
public function getModel() -> <ModelInterface>
{
return this->model;
}
/**
* Allows to check if the executed operation was successful
*/
public function success() -> bool
{
return this->success;
}
}