У меня есть следующая проблема. Мне нужно получить строки из базы данных, где цена ниже заданного числа. я могу сделать это так:Laravel eloquent как анализировать данные внутри запроса, где атрибут
DB::where('price', '<=', $given_number)->get();
, но проблема в том, что внутри ценовой ячейки у меня есть номер с дополнительными признаками, как $ за доллары или евро знак. Я знаю, как разбирать строку в PHP, чтобы извлекать только числа - filter_var ($ string, FILTER_SANITIZE_NUMBER_INT), но как это сделать в запросе из Laravel? Как я могу предварительно проанализировать этот атрибут «цена»?
нет, мне нужно проанализировать строку «цена» в базе данных и сравнить ее с переменной $ price, которая анализируется. Но «цена» в базе данных, как 34 $ – Vikast
, могу предложить вам изменить значения в вашей базе данных, чтобы они были числами вместо строк? это выглядит очень необычным способом хранения значений в БД. – morphatic
Я думаю, вы могли бы сделать «DB :: where» («цена», «<=», «$». $ Given_number) -> get() ', но он будет выполнять сравнение строк, а не числовое сравнение. , – morphatic