Class 未找到 MongoRegex()

Class MongoRegex() not found

我正在尝试 php.net 中的示例: - http://php.net/manual/en/class.mongoregex.php

执行代码时出现错误:

Class App\Http\Controllers\MongoRegex not found

但是new MongoClient()工作正常。

MongoRegex() 适用于 mongo 分机,不适用于 mongodb 分机。您似乎使用了 mongodb 扩展名。所以你应该使用 MongoDB\BSON\Regex() 而不是 MongoRegex().

所以现在看起来像这样:

new \MongoDB\BSON\Regex("/.*doe/i")

如果您在版本 3+ 中使用 Laravel 和 Jenssegers 包,那么您可以这样查询:

User::where('name', 'regex', new \MongoDB\BSON\Regex("/.*doe/i"))->get();

或者像这样更好:

User::where('name', 'regexp', '/.*doe/i'))->get();

上面的行会自动将字符串转换为正确的 Regex 对象。


来源:https://github.com/jenssegers/laravel-mongodb