У меня есть таблица «Свойства» и я получаю минимальную и максимальную цену. С этими двумя значениями мне нужен список чисел от минимальной цены до максимальной цены. Вот как я пытаюсь:
Route::get('min', function(){
$minprice = Property::min('price');
$maxprice = Property::max('price');
$min = (float)$minprice;
$max = (float)$maxprice;
for($i = $min; $i <= $max; $i++){
echo $i;
}
})->name('min');
Я использовал float, потому что цены в моей базе данных хранятся в виде строки.
Если я повторю $ min или $ max, я вижу, что это хорошо. Когда я делаю запрос на получение, я ничего не вижу. Что-то не так в моей петле?
Всего 2 ответа
Вы можете попробовать range
функций php.
Route::get('min', function(){
$minprice = Property::min('price');
$maxprice = Property::max('price');
$min = $minprice;
$max = $maxprice;
foreach (range($min, $max, 1) as $number) {
echo (float) $number;
}
})->name('min');
Route::get('min', function(){
// to get prices
$prices = Property::all()->pluck('price');
// To convert them to floats
$floatPrices = array_map('floatval', $prices);
// Sort and return them
return asort($floatPrices);
})->name('min');