From d36779ddd993e23fc8b0dfb0666d2dc03729baf8 Mon Sep 17 00:00:00 2001 From: Remo Date: Sat, 24 Jan 2015 19:26:58 +0100 Subject: [PATCH 1/2] ignore unbound columns --- src/Bllim/Datatables/Datatables.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Bllim/Datatables/Datatables.php b/src/Bllim/Datatables/Datatables.php index 5bb5508b..de8dd65d 100644 --- a/src/Bllim/Datatables/Datatables.php +++ b/src/Bllim/Datatables/Datatables.php @@ -687,7 +687,7 @@ protected function filtering() $this->query->where(function ($query) use (&$that, $column_aliases, $column_names) { for ($i = 0, $c = count($that->input['columns']); $i < $c; $i++) { - if (isset($column_aliases[$i]) && $that->input['columns'][$i]['searchable'] == "true") { + if (isset($column_aliases[$i]) && $that->input['columns'][$i]['searchable'] == "true" && $that->input['columns'][$i]['data'] !== '') { // if filter column exists for this columns then use user defined method if (isset($that->filter_columns[$column_aliases[$i]])) { From 9fab9d50df546e266cd555dc1c1f8bcbb8aa2a33 Mon Sep 17 00:00:00 2001 From: Remo Date: Sat, 24 Jan 2015 21:17:45 +0100 Subject: [PATCH 2/2] make sure we don't order by empty column names --- src/Bllim/Datatables/Datatables.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Bllim/Datatables/Datatables.php b/src/Bllim/Datatables/Datatables.php index de8dd65d..a069bf1a 100644 --- a/src/Bllim/Datatables/Datatables.php +++ b/src/Bllim/Datatables/Datatables.php @@ -625,7 +625,7 @@ protected function ordering() for ($i = 0, $c = count($this->input['order']); $i < $c; $i++) { $order_col = (int)$this->input['order'][$i]['column']; - if (isset($columns[$order_col])) { + if (isset($columns[$order_col]) && $columns[$order_col] !== '') { if ($this->input['columns'][$order_col]['orderable'] == "true") { $this->query->orderBy($columns[$order_col], $this->input['order'][$i]['dir']); } @@ -756,7 +756,7 @@ protected function filtering() // column search for ($i = 0, $c = count($this->input['columns']); $i < $c; $i++) { - if (isset($column_aliases[$i]) && $this->input['columns'][$i]['orderable'] == "true" && $this->input['columns'][$i]['search']['value'] != '') { + if (isset($column_aliases[$i]) && $this->input['columns'][$i]['orderable'] == "true" && $this->input['columns'][$i]['search']['value'] != '' && $this->input['columns'][$i]['data'] !== '') { // if filter column exists for this columns then use user defined method if (isset($this->filter_columns[$column_aliases[$i]])) {