From 1b3559dd684117c949b1bfe9a93feba0a4f025ff Mon Sep 17 00:00:00 2001 From: Sapotong Date: Fri, 5 May 2023 10:53:57 +0700 Subject: [PATCH] Add LIKE operator for Postgres database on Codeigniter 4 adapter --- src/DB/Codeigniter4Adapter.php | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/DB/Codeigniter4Adapter.php b/src/DB/Codeigniter4Adapter.php index bcc8504..64a5bc3 100644 --- a/src/DB/Codeigniter4Adapter.php +++ b/src/DB/Codeigniter4Adapter.php @@ -2,6 +2,7 @@ namespace Ozdemir\Datatables\DB; +use Ozdemir\Datatables\Column; use Ozdemir\Datatables\Iterators\ColumnCollection; use Ozdemir\Datatables\Query; @@ -94,4 +95,19 @@ public function getQueryString($query) return $query; } + + /** + * @param Query $query + * @param Column $column + * @param $word + * @return string + */ + public function makeLikeString(Query $query, Column $column, string $word) + { + if ($this->db->getPlatform() == 'Postgre') { + return $column->name.'::TEXT ILIKE '.$this->escape('%'.$word.'%', $query); + } + + return $column->name.' LIKE '.$this->escape('%'.$word.'%', $query); + } }