@kaliboba

Почему SQLSTATE[42S22]: Column not found: 1054 Unknown column '%{ 5 }%' in 'where clause'?

Делаю фильтрацию по цене, задумка такова: принимается наименьшее число, потом наибольшее, делается запрос, который фильтрует товары, но это не работает, код:
контроллер:
public function filter(Request $request){
        $p1 = $request->p1;
        $p2 = $request->p2;
        $r = Products::where("%{ $p1 }%",'<','price')
        ->where('price','<',"%{ $p2 }%");
        $c = Category::children(null);
        return view('f',['r' => $r->get(),'c' => $c]);
    }

web.php
Route::get('/filter', [MainController::class, 'filter'])->name('filter');

Форма
<form method="get" action="{{ route('filter') }}">
        ФИЛЬТР ЦЕНЫ
        <input name='p1' placeholder="От">
        <input name='p2' placeholder="До">
        <input type="submit">
    </form>
  • Вопрос задан
  • 104 просмотра
Решения вопроса 2
Fragster
@Fragster
помогло? отметь решением!
надо заставить себя прочитать документацию
$r = Products::whereBetween('price', [p1, p2] );
Ответ написан
Комментировать
alexey-m-ukolov
@alexey-m-ukolov Куратор тега Laravel
where('price', '>', "%{ $p1 }%")
P.S. зачем по вашему тут нужен знак процента?
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы