diff options
author | Frédéric Guillot <fguillot@users.noreply.github.com> | 2014-04-27 15:14:13 -0400 |
---|---|---|
committer | Frédéric Guillot <fguillot@users.noreply.github.com> | 2014-04-27 15:14:13 -0400 |
commit | 096b282a473fa2b27c3bfe3061f54b5fd83c75e0 (patch) | |
tree | fc358e47860c50ab8505e0666043d76196e48016 /models/task.php | |
parent | 6551609d1b248011d301080c1be7c48085dc5d55 (diff) |
Add a basic task search
Diffstat (limited to 'models/task.php')
-rw-r--r-- | models/task.php | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/models/task.php b/models/task.php index b61fb13f..bef92f20 100644 --- a/models/task.php +++ b/models/task.php @@ -152,8 +152,21 @@ class Task extends Base ) ->join('users', 'id', 'owner_id'); - foreach ($filters as $filter) { - $table->$filter['operator']($filter['column'], $filter['value']); + foreach ($filters as $key => $filter) { + + if ($key === 'or') { + + $table->beginOr(); + + foreach ($filter as $subfilter) { + $table->$subfilter['operator']($subfilter['column'], $subfilter['value']); + } + + $table->closeOr(); + } + else if (isset($filter['operator']) && isset($filter['column']) && isset($filter['value'])) { + $table->$filter['operator']($filter['column'], $filter['value']); + } } if (empty($sorting)) { |