Как получить минимальное значение столбца, когда тип столбца текст? - PullRequest
0 голосов
/ 26 июня 2019

у меня есть столбец с названием цена с типом текста Таблица названных продуктов Мин метод не работает:

Product::min('price')

столбцы цен должны быть как 5000 , 90 , 70

«Я ожидаю, что выход Min будет 70, но фактический выход 5000»

и я думаю, потому что столбец цены имеет тип текста

Ответы [ 3 ]

2 голосов
/ 26 июня 2019

Для литья можно использовать член модели Laravel $casts в модели Product,

protected $casts = [
   'price' => 'integer' // or float as per your values
];

А затем проверьте Product::min("price") значение.

Если вы хотите получить его по запросу

$temp = Product::selectRaw("MIN(CAST(price AS UNSIGNED)) as price")->first();
echo $temp->price;
1 голос
/ 26 июня 2019

Используйте только функцию min, функция min вернет вам значение min.

$price = "5000 , 90 , 70";
$array = explode(',', $price);
echo(min($array));
1 голос
/ 26 июня 2019

Вы можете выполнить прямой SQL-запрос, используя приведение типа

$results = DB::select('select MIN(CAST(price AS SIGNED)) from tablename');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...