@@ -174,6 +174,51 @@ public function testWhereRawSql()
174174 $ this ->assertSame ($ expectedBinds , $ builder ->getBinds ());
175175 }
176176
177+ public function testWhereValueRawSql ()
178+ {
179+ $ sql = $ this ->db ->table ('auth_bearer ' )
180+ ->select ('* ' )
181+ ->where ('expires ' , new RawSql ('DATE_ADD(NOW(), INTERVAL 2 HOUR) ' ))
182+ ->getCompiledSelect (true );
183+
184+ $ expected = <<<'SQL'
185+ SELECT *
186+ FROM "auth_bearer"
187+ WHERE "expires" = DATE_ADD(NOW(), INTERVAL 2 HOUR)
188+ SQL;
189+ $ this ->assertSame ($ expected , $ sql );
190+ }
191+
192+ public function testWhereKeyAndValueRawSql ()
193+ {
194+ $ sql = $ this ->db ->table ('auth_bearer ' )
195+ ->select ('* ' )
196+ ->where (new RawSql ('CURRENT_TIMESTAMP() ' ), new RawSql ('DATE_ADD(column, INTERVAL 2 HOUR) ' ))
197+ ->getCompiledSelect (true );
198+
199+ $ expected = <<<'SQL'
200+ SELECT *
201+ FROM "auth_bearer"
202+ WHERE CURRENT_TIMESTAMP() = DATE_ADD(column, INTERVAL 2 HOUR)
203+ SQL;
204+ $ this ->assertSame ($ expected , $ sql );
205+ }
206+
207+ public function testWhereKeyAndValueRawSqlWithOperator ()
208+ {
209+ $ sql = $ this ->db ->table ('auth_bearer ' )
210+ ->select ('* ' )
211+ ->where (new RawSql ('CURRENT_TIMESTAMP() >= ' ), new RawSql ('DATE_ADD(column, INTERVAL 2 HOUR) ' ))
212+ ->getCompiledSelect (true );
213+
214+ $ expected = <<<'SQL'
215+ SELECT *
216+ FROM "auth_bearer"
217+ WHERE CURRENT_TIMESTAMP() >= DATE_ADD(column, INTERVAL 2 HOUR)
218+ SQL;
219+ $ this ->assertSame ($ expected , $ sql );
220+ }
221+
177222 public function testWhereValueSubQuery ()
178223 {
179224 $ expectedSQL = 'SELECT * FROM "neworder" WHERE "advance_amount" < (SELECT MAX(advance_amount) FROM "orders" WHERE "id" > 2) ' ;
0 commit comments