2013-07-03 1 views
0

Я использую Laravel 4 Eloquent для выбора данных из базы данных. Он работает нормально.Выделить все данные из базы данных, где title является lorem ipsum в Laravel 4

Но теперь я хочу, чтобы выбрать все данные из базы данных, где название соответствует «Lorem Ipsum»

Это должно получить все титулы, которые соответствуют предоставленным ключевым словам.

Попытка сделать поиск базы данных в Laravel и, следовательно, я требую этого.

ответ

2

Я думаю, что вы ищете "LIKE".

Это должно работать

$searchString = 'Lorem Ipsum'; 

$result = myModel::where('title', 'LIKE', '%' . $searchString . '%')->get(); 

или если вы хотите, чтобы ограничить результаты.

$limit = 10; 

$result = myModel::where('title', 'LIKE', '%' . $searchString . '%')->take($limit)->get(); 

Источник: Мой мозг и http://laravel.com/docs/eloquent

+0

Действительно благодарен за код. Это работало идеально для меня. Я пытался реализовать тот же LIKE, но я ошибся в написании%. Но я хочу их разбивать на страницы. Когда я пытаюсь Paginate, он дает ошибку – harishannam

+0

. Какую ошибку он выбрал? AFAIK, вы можете просто заменить '-> get()' на '-> paginate()' – Melvin

+1

@Melvin Спасибо большое, я был новым. Я просто пытался с get(). – harishannam

0

Вы можете просто сделать это

$results = DB::select('select * from posts where title = ?', array('Lorem Ipsum')); 
+0

общественная функция getSearch() \t { \t \t $ сообщения = DB :: выберите ('выберите * из сообщений, где название =?', Массив ('Lorem Ipsum ')); \t \t return $ posts; \t \t \t} Я просто изменил это на свой контроллер. но он ничего не возвращает показывает «[]», когда я запустил страницу – harishannam

+0

У вас есть данные, чтобы соответствовать запросу? – DevZer0

+0

Эй, извините, «Lorem Ipsum dolor sit amet» это был мой титул. Теперь он показывает результаты. Но проблема в том, что он показывает только один результат. Но у меня есть 5 названий. Как получить все из них – harishannam