diff options
author | Andrey Andreev <narf@devilix.net> | 2018-04-14 15:45:56 +0200 |
---|---|---|
committer | Andrey Andreev <narf@devilix.net> | 2018-04-14 15:47:21 +0200 |
commit | 9341189a529e28007c7ff566aa5db91488ea7439 (patch) | |
tree | b5a9d708d48a3666b3364b4e130a5651f11ad891 | |
parent | 641d4dd6590b0c9f55c38daf153d571479fc6459 (diff) |
Merge pull request #5464 from ytetsuro/fix/#5462/like-before-bug
Fixed issue #5462 Query Builder LIKE BEFORE doesnt work
-rw-r--r-- | system/database/DB_query_builder.php | 2 | ||||
-rw-r--r-- | tests/codeigniter/database/query_builder/like_test.php | 23 |
2 files changed, 24 insertions, 1 deletions
diff --git a/system/database/DB_query_builder.php b/system/database/DB_query_builder.php index 8bc6328b4..5c0528a3f 100644 --- a/system/database/DB_query_builder.php +++ b/system/database/DB_query_builder.php @@ -970,7 +970,7 @@ abstract class CI_DB_query_builder extends CI_DB_driver { $v = "'{$v}'"; break; case 'before': - $v = "%'{$v}'"; + $v = "'%{$v}'"; break; case 'after': $v = "'{$v}%'"; diff --git a/tests/codeigniter/database/query_builder/like_test.php b/tests/codeigniter/database/query_builder/like_test.php index 3672afae3..4d8673d99 100644 --- a/tests/codeigniter/database/query_builder/like_test.php +++ b/tests/codeigniter/database/query_builder/like_test.php @@ -103,4 +103,27 @@ class Like_test extends CI_TestCase { $this->assertCount(1, $tabs); } + /** + * GitHub issue #5462 + * + * @see ./mocks/schema/skeleton.php + * + * @dataProvider like_set_side_provider + */ + public function test_like_set_side($str, $side, $expected_name) + { + $actual = $this->db->like('name', $str, $side)->get('job')->result_array(); + $this->assertCount(1, $actual); + $this->assertEquals($expected_name, $actual[0]['name']); + } + + public function like_set_side_provider() + { + return array( + array('Developer', 'none', 'Developer'), + array('tician', 'before', 'Politician'), + array('Accou', 'after', 'Accountant'), + array('usicia', 'both', 'Musician'), + ); + } } |