Commit 8032785f by Paul Klimov

Method "\yii\mogo\Collection::buildLikeCondition()" fixed to use \MongoRegex.

parent 380d1d02
...@@ -907,6 +907,9 @@ class Collection extends Object ...@@ -907,6 +907,9 @@ class Collection extends Object
throw new InvalidParamException("Operator '$operator' requires two operands."); throw new InvalidParamException("Operator '$operator' requires two operands.");
} }
list($column, $value) = $operands; list($column, $value) = $operands;
return [$column => '/' . $value . '/']; if (!($value instanceof \MongoRegex)) {
$value = new \MongoRegex($value);
}
return [$column => $value];
} }
} }
\ No newline at end of file
...@@ -129,4 +129,16 @@ class QueryRunTest extends MongoTestCase ...@@ -129,4 +129,16 @@ class QueryRunTest extends MongoTestCase
->all($connection); ->all($connection);
$this->assertEquals(1, count($rows)); $this->assertEquals(1, count($rows));
} }
public function testLike()
{
$connection = $this->getConnection();
$query = new Query;
$rows = $query->from('customer')
->where(['LIKE', 'name', '/me1/'])
->all($connection);
$this->assertEquals(2, count($rows));
$this->assertEquals('name1', $rows[0]['name']);
$this->assertEquals('name10', $rows[1]['name']);
}
} }
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment