Я пытаюсь пример из php.net: - http://php.net/manual/en/class.mongoregex.php
при выполнении кода возникает ошибка:
Класс App\Http\Controllers\MongoRegex не найден
Но new MongoClient()
работает отлично.
Итак, теперь это будет выглядеть так:
new \MongoDB\BSON\Regex("/.*doe/i")
И если вы используете Laravel с пакетом Jenssegers в версии 3+, вы можете запросить вот так:
User::where('name', 'regex', new \MongoDB\BSON\Regex("/.*doe/i"))->get();
или даже лучше:
User::where('name', 'regexp', '/.*doe/i'))->get();
Строка, указанная выше, автоматически преобразует строку в правильный объект Regex.
MongoRegex()
предназначен для расширения mongo
и не доступен для расширения mongodb
. Кажется, вы используете расширение mongodb
. Поэтому вы должны использовать MongoDB\BSON\Regex()
вместо MongoRegex()
.
MongoRegex
! Пожалуйста, добавьте этот код вверху вашего контроллера после пространства имен: use \ MongoRegex;