Skip to content

Commit 45c95cc

Browse files
committed
Methods to filters
1 parent 44f40d3 commit 45c95cc

File tree

1 file changed

+89
-0
lines changed

1 file changed

+89
-0
lines changed

src/SQL/Filters.php

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
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+
}

0 commit comments

Comments
 (0)