|
@@ -457,6 +457,7 @@ class REST_CRUD_API {
|
457
|
457
|
$callback = $this->parseGetParameter($get, 'callback', 'a-zA-Z0-9\-_', false);
|
458
|
458
|
$page = $this->parseGetParameter($get, 'page', '0-9,', false);
|
459
|
459
|
$filters = $this->parseGetParameterArray($get, 'filter', false, false);
|
|
460
|
+ $satisfy = $this->parseGetParameter($get, 'satisfy', 'a-z', 'all');
|
460
|
461
|
$columns = $this->parseGetParameter($get, 'columns', 'a-zA-Z0-9\-_,', false);
|
461
|
462
|
$order = $this->parseGetParameter($get, 'order', 'a-zA-Z0-9\-_*,', false);
|
462
|
463
|
$transform = $this->parseGetParameter($get, 'transform', '1', false);
|
|
@@ -476,7 +477,7 @@ class REST_CRUD_API {
|
476
|
477
|
|
477
|
478
|
list($collect,$select) = $this->findRelations($table,$database,$db);
|
478
|
479
|
|
479
|
|
- return compact('action','database','table','key','callback','page','filters','columns','order','transform','db','object','input','collect','select');
|
|
480
|
+ return compact('action','database','table','key','callback','page','filters','satisfy','columns','order','transform','db','object','input','collect','select');
|
480
|
481
|
}
|
481
|
482
|
|
482
|
483
|
protected function listCommand($parameters) {
|
|
@@ -494,7 +495,7 @@ class REST_CRUD_API {
|
494
|
495
|
$params[] = $table;
|
495
|
496
|
foreach ($filters as $i=>$filter) {
|
496
|
497
|
if (is_array($filter)) {
|
497
|
|
- $sql .= $i==0?' WHERE ':' AND ';
|
|
498
|
+ $sql .= $i==0?' WHERE ':$satisfy=='all'?' AND ':' OR ';
|
498
|
499
|
$sql .= '"!" ! ?';
|
499
|
500
|
$params[] = $filter[0];
|
500
|
501
|
$params[] = $filter[1];
|
|
@@ -518,7 +519,7 @@ class REST_CRUD_API {
|
518
|
519
|
$params[] = $table;
|
519
|
520
|
foreach ($filters as $i=>$filter) {
|
520
|
521
|
if (is_array($filter)) {
|
521
|
|
- $sql .= $i==0?' WHERE ':' AND ';
|
|
522
|
+ $sql .= $i==0?' WHERE ':$satisfy=='all'?' AND ':' OR ';
|
522
|
523
|
$sql .= '"!" ! ?';
|
523
|
524
|
$params[] = $filter[0];
|
524
|
525
|
$params[] = $filter[1];
|