File tree 1 file changed +89
-0
lines changed
1 file changed +89
-0
lines changed Original file line number Diff line number Diff line change
1
+ <?php
2
+
3
+ namespace Simples \Persistence \SQL ;
4
+
5
+ /**
6
+ * Trait Filters
7
+ * @package Simples\Persistence\SQL
8
+ */
9
+ trait Filters
10
+ {
11
+ /**
12
+ * @param string $name
13
+ * @return string
14
+ */
15
+ public static function equal (string $ name )
16
+ {
17
+ return "{$ name } = ? " ;
18
+ }
19
+
20
+ /**
21
+ * @param string $name
22
+ * @return string
23
+ */
24
+ public static function not (string $ name )
25
+ {
26
+ return "{$ name } <> ? " ;
27
+ }
28
+
29
+ /**
30
+ * @param string $name
31
+ * @return string
32
+ */
33
+ public static function lessEqualThan (string $ name )
34
+ {
35
+ return "{$ name } <= ? " ;
36
+ }
37
+
38
+ /**
39
+ * @param string $name
40
+ * @return string
41
+ */
42
+ public static function lessThan (string $ name )
43
+ {
44
+ return "{$ name } < ? " ;
45
+ }
46
+
47
+ /**
48
+ * @param string $name
49
+ * @return string
50
+ */
51
+ public static function greaterEqualThan (string $ name )
52
+ {
53
+ return "{$ name } >= ? " ;
54
+ }
55
+
56
+ /**
57
+ * @param string $name
58
+ * @return string
59
+ */
60
+ public static function greaterThan (string $ name )
61
+ {
62
+ return "{$ name } > ? " ;
63
+ }
64
+
65
+ /**
66
+ * @param string $name
67
+ * @return string
68
+ */
69
+ public static function blank (string $ name )
70
+ {
71
+ return "( {$ name } IS NULL) OR (NOT {$ name }) " ;
72
+ }
73
+
74
+ /**
75
+ * @param string $name
76
+ * @param string $value
77
+ * @return string
78
+ */
79
+ public static function in (string $ name , string $ value )
80
+ {
81
+ $ callback = function () {
82
+ return '? ' ;
83
+ };
84
+ $ array = explode ('| ' , $ value );
85
+ $ pieces = array_map ($ callback , $ array );
86
+ $ keys = implode (', ' , $ pieces );
87
+ return "{$ name } IN ( {$ keys }) " ;
88
+ }
89
+ }
You can’t perform that action at this time.
0 commit comments