Я работаю над проектом Laravel 5.1. Я делаю фильтр, чтобы отображать результаты проекта.Laravel 5.1 Запрос фильтра
Существует входной фильтр Seach по имени И выберите для статуса проекта
Запрос осуществляется с помощью AjaxRequest к способу фильтра в контроллере. В этом методе фильтра я получить массив с параметрами фильтра
Array
(
[filterName] => projectNameHere...
)
Это когда пользователь только фильтрует ее по имени проекта
И это массив, когда поиск пользователей по Projectname и статус
Array
(
[filterName] => projectNameHere...
[selectValue] => projectStatusHere
)
Но теперь мне нужно создать запрос динамического выбора для этого. Я попытался следующие вещи:
$query = 'SELECT * FROM project';
$cond = array();
$params = array();
if (array_key_exists('filterName', $request->all()))
{
$cond[] = 'naam LIKE = %?%';
$params[] = $request->filterName;
}
if (array_key_exists('selectValue', $request->all()))
{
$cond[] = 'project_status = ?';
$params[] = $request->selectValue;
}
// Implode the query
$query .= ' WHERE ' . implode(' AND ', $cond);
Также пробовал с Laravel Raw выберите запрос ::
$projects = DB::select('select * from project where name = ? AND project_status = ?', ['projectName', 'projectStats']);
Это сырье работает запрос, но как я мог бы сделать его динамичным
При использовании \t // создать новый конструктор запросов (истинный, чтобы игнорировать удаленные) $ запроса = Project :: NewQuery (истина); \t Я получаю следующую ошибку: Нестатический метод 'newQuery' не следует называть статически меньше ... Метод динамического класса, называемый статическим. – Bham
@Bham извините мою ошибку, я считаю, что теперь должно быть правильно в соответствии с [здесь] (http://laravel.com/api/5.1/Illuminate/Database/Eloquent/Model.html#method_query) – AbstractChaos