我从php.net尝试示例: - http://php.net/manual/en/class.mongoregex.php
执行代码时出现错误:
未找到类App \ Http \ Controllers \ MongoRegex
但new MongoClient()
工作正常。
答案 0 :(得分:3)
MongoRegex()
适用于mongo
扩展程序,但不适用于mongodb
扩展程序。您似乎使用mongodb
扩展名。因此,您应该使用MongoDB\BSON\Regex()
代替MongoRegex()
。
答案 1 :(得分:1)
所以现在它看起来像这样:
new \MongoDB\BSON\Regex("/.*doe/i")
如果您在版本3+中使用带有Jenssegers包的Laravel,那么您可以这样查询:
User::where('name', 'regex', new \MongoDB\BSON\Regex("/.*doe/i"))->get();
甚至更好:
User::where('name', 'regexp', '/.*doe/i'))->get();
上面的行会自动将字符串转换为正确的Regex对象。