From ebcaba31b95eca9e3f3d519f3ad453ce2a244004 Mon Sep 17 00:00:00 2001 From: Mohamed Said Date: Fri, 29 Apr 2016 08:08:21 +0000 Subject: [PATCH] fix #13314 by converting != <> wheres to is not null --- src/Illuminate/Database/Query/Builder.php | 2 +- tests/Database/DatabaseQueryBuilderTest.php | 14 +++++++++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/Illuminate/Database/Query/Builder.php b/src/Illuminate/Database/Query/Builder.php index c7160036e49a..567b78bff79a 100755 --- a/src/Illuminate/Database/Query/Builder.php +++ b/src/Illuminate/Database/Query/Builder.php @@ -589,7 +589,7 @@ protected function invalidOperatorAndValue($operator, $value) { $isOperator = in_array($operator, $this->operators); - return $isOperator && $operator != '=' && is_null($value); + return $isOperator && ! in_array($operator, ['=', '<>', '!=']) && is_null($value); } /** diff --git a/tests/Database/DatabaseQueryBuilderTest.php b/tests/Database/DatabaseQueryBuilderTest.php index cc628799d1a9..b76df34f06a3 100755 --- a/tests/Database/DatabaseQueryBuilderTest.php +++ b/tests/Database/DatabaseQueryBuilderTest.php @@ -1273,11 +1273,23 @@ public function testMergeWheresCanMergeWheresAndBindings() $this->assertEquals(['foo', 'bar'], $builder->getBindings()); } - public function testProvidingNullOrFalseAsSecondParameterBuildsCorrectly() + public function testProvidingNullWithOperatorsBuildsCorrectly() { $builder = $this->getBuilder(); $builder->select('*')->from('users')->where('foo', null); $this->assertEquals('select * from "users" where "foo" is null', $builder->toSql()); + + $builder = $this->getBuilder(); + $builder->select('*')->from('users')->where('foo', '=', null); + $this->assertEquals('select * from "users" where "foo" is null', $builder->toSql()); + + $builder = $this->getBuilder(); + $builder->select('*')->from('users')->where('foo', '!=', null); + $this->assertEquals('select * from "users" where "foo" is not null', $builder->toSql()); + + $builder = $this->getBuilder(); + $builder->select('*')->from('users')->where('foo', '<>', null); + $this->assertEquals('select * from "users" where "foo" is not null', $builder->toSql()); } public function testDynamicWhere()