2015-04-05 3 views
-1

У меня есть страница результатов поиска для веб-сайта продавца автомобиля, это страница с листингом. Есть несколько вариантов на шаблоне HTML, как:Laravel Список по дате по Цена, Цена Desc

order by data , price , price des 

я должен заказать результаты, нажав эту опцию. Клиент не хочет использовать данные. Как я могу это реализовать? Я знаю, как получить данные с Laravel:

DB::table('<table name>')->orderBy('<field name>', '<direction>')->get(); 

Но я не мог понять логику, потому что после того, как я пришел к результатам поиска страницы с данными, как я могу принять запрос и изменить порядок на текущей странице?

Или есть техника для этого?

+0

Вы используете Laravel 4 или 5? – mininoz

ответ

1

Вам нужно отправить название и направление столбца к контроллеру. И в контроллере вы получаете столбец, направление и вводите их в порядок.

Ссылка на ваш взгляд, должен выглядеть именно в этот

http://www.yoururl.com/something?column=date&direction=asc

$sortable_fields = array("date", "price"); 

/* set the default the column sort field to date if there is no value was passed */ 
$column = in_array(Input::get('column'), $searchable_fields) ? Input::get('column') : 'date' 

/* set the default sort direction to desc if there is no value was passed */ 
$direction = (Input::get('direction') == 'asc') ? 'asc' : 'desc'; 



/* Use where function for searching before do the order by */ 
$query = DB::table('<table name>') ; 
if (Input::get('title')) { 
    $query->where('title', Input::get('title'); 
} 
DB::table('<table name>')->orderBy($column, $direction)->get(); 
+0

im не извлекает все данные из таблицы, я получаю результаты в соответствии с параметрами панели поиска. params from search bar? –

+0

@ TolgaAteş Я только что обновил свой код – mininoz

+0

хороший код, но моя страница поиска и результатов отличается. На странице поиска есть много параметров, в соответствии с этими параметрами мой контроллер извлекает данные, как я возьму эти параметры отправляют страницу результатов? –

0

Поскольку вы не хотите выполнять операцию в datatables. Затем вы должны сделать ajax-вызов, чтобы получить этот результат в любом действии, например, при изменении или onpress-событии или что-то, что вам нужно.

В Laravel:

Вы должны сделать свой orderBy таким образом, что

DB::table('users')->orderBy('name', 'desc')->get(); 

Для более info about selects

+0

Как я возьму тот же запрос с предыдущей страницы (страница поиска), у меня есть большой запрос с этой страницы? –

+0

У вас есть запрос в представлении? –

+0

У вас должен быть запрос в контроллере, тогда почему у вас не может быть один и тот же запрос в обеих функциях? и вернуть его соответственно –

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