Как я могу прокручивать минимальные и максимальные значения моего ценового стола

У меня есть таблица «Свойства» и я получаю минимальную и максимальную цену. С этими двумя значениями мне нужен список чисел от минимальной цены до максимальной цены. Вот как я пытаюсь:

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');

источник: http://php.net/manual/en/function.range.php


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');

Есть идеи?

10000