Как я могу использовать "не нравится" на Laravel Mongodb?
Я вижу здесь: https://github.com/jenssegers/laravel-mongodb
Я попробую:
$user = Comment::where('body', 'like', '%spam%')->get();
Оно работает
Но когда я пытаюсь:
$user = Comment::where('body', 'not like', '%spam%')->get();
Это не работает
Кажется, библиотека не поддерживает не нравится
Есть ли люди, которые знают, как это обойти?
2 ответа
Я верю like
в любом случае преобразуется в регулярные выражения, так что вы можете сделать это как not regexp
:
$user = Comment::where('body', 'not regexp', '/spam/i'))->get();
работает в 2023 году наjenssegers/mongodb
v3.9. Мы также можем увидеть операторnot like
перечислены под$operators
массив внутри исходного кода пакета здесь src/Query/Builder.php.
Например, в коллекции из 10 документов:
Предположительно, следующий запрос вернет 3
Comment::where('body', 'like', '%spam%')->count();
Тогда следующий запрос вернет 7
Comment::where('body', 'not like', '%spam%')->count();