Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Class MongoRegex() not found

I trying example from php.net: - http://php.net/manual/en/class.mongoregex.php

when performing a code there is a mistake:

Class App\Http\Controllers\MongoRegex not found

But new MongoClient() work fine.

like image 801
t0toro Avatar asked Jul 19 '26 10:07

t0toro


2 Answers

MongoRegex() is for mongo extension and it not availables for mongodb extension. It seems you use mongodb extension. So you should use MongoDB\BSON\Regex() instead of MongoRegex().

like image 190
Mostafa Lavaei Avatar answered Jul 21 '26 00:07

Mostafa Lavaei


So now it would look like this:

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

And if you're using Laravel with Jenssegers package in version 3+, then you can query like this:

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

or even better like this:

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

The line above will automatically convert string into proper Regex object.


Source: https://github.com/jenssegers/laravel-mongodb

like image 40
Rav Avatar answered Jul 21 '26 00:07

Rav