Я в новом в Ларавеле. Я хочу сделать динамические, где запросы с помощью построителя запросов laravel.
Обычно я могу делать динамические запросы в php
$where = array(
'hello' => 'world'
);
function get($where = null){
if($where == "") $where = "";
//Function which converts where clause into queries
wheretoqueries($where); //converts where clause
$sql = "SELECT * FROM $tbl $where";
return $sql;
}
echo get($where);
Если условие where равно null, запросы будут
SELECT * FROM $tbl
Если условие where не равно NULL, запросы будут
SELECT * FROM $tbl WHERE hello = "world"
Laravel orm отлично работает для предложения where, если ключ и значение существуют
A::where($where)->get();
Если где ноль, следующий метод не будет работать
Попробуй это. Если переменная $ where содержит что-то, запрос будет выполнен, иначе он получит все данные из A
Модель.
function get($where = null){
if($where != null){
A::where('field_name', '=', $where)->first();
}else{
A::all();
}
}
Замечания: если ваш запрос возвращает более одного значения, вы должны использовать метод get () в конце построителя запроса вместо first ();
Ссылка: https://laravel.com/docs/5.3/queries#where-clauses