2015-10-07 3 views
0

Мне грозит проблема в вопросе laravel «like». У меня есть MIS на laravel с базами данных на MongoDb. Теперь у моей БД есть таблица с именем kw с urlencoded ключевыми словами cars%20in%20London, теперь мой запрос дает точные результаты для cars или cars%20in%20London, но когда я ищу cars%20in, я получаю 0 результатов! Вот как laravel «like» используется в запросе, но Mongo использует /. m ./ form, Как я могу заставить это работать. Вот моя функция МодельLaravel «как» запрос с соединением MongoDB


public static function selectKeywordIncomplete($keyword) { 
    $search_volume_incomplete = searchVolume::where('kw','like','%'.$keyword.'%')->orwhere('kw','=',$keyword)->where('status','=',1)->paginate(20); 
    return $search_volume_incomplete; 
} 

Заранее спасибо.

+0

Вы пробовали использовать регулярные выражения, как '$ search_volume_incomplete = searchVolume :: где ('квт', 'регулярное выражение', новый MongoRegex ("/^$ ключевое слово/я")) -> orwhere ('квт',» =», $ ключевое слово) -> где ('статус', '=', 1) -> постраничной (20)'? – chridam

+1

Не знаю, работает ли это, но Class 'App \ Models \ MongoRegex' не найден, это ошибка, но jessengers уже включен, я ищу в проблеме, но если вы знаете, то lemme знаете, спасибо. –

ответ

0

ну как в mongoDb нет такой вещи, как «нравится», я искал регулярное выражение Mongodb, но laravel regexp для mongoDB работал как шарм, вот запрос, который сработал. http://jenssegers.be/projects/laravel-mongodb

$ search_volume_unprocessed = searchVolume :: где ('квт', '=', $ ключевое слово) -> orwhere ('квт', 'регулярное выражение', "/.*$ ключевое слово/я") -> где ('статус', '=', 1) -> постраничной (20);

Смежные вопросы