Как сравнить данные по номеру диапазона без использования разнесения - PullRequest
0 голосов
/ 25 сентября 2018

У меня есть таблица target

id | target_percent
1  | 1-50
2  | 50-100
3  | 150-200

Могу ли я использовать данные target_percent для сравнения числового примера:

$a = 55;

Я хочу найти идентификатор цели, где находится $ a.

Теперь я зацикливаю данные и использую Explode, чтобы сделать что-то вроде этого.

       foreach ($target as $item) {
            $percent = explode("-", $item->target_percent);
            $startpercent = (int)$percent[0];
            $endpercent = (int)$percent[1];
            if ($startpercent <= $percentSell && $percentSell <= $endpercent) {
               return $item->id
            } 
        }

таким образом все работает, но это слишком сложно.

Я просто хочу знать, является ли это каким-то образомсделать проще?

1 Ответ

0 голосов
/ 25 сентября 2018

Можно изменить столбцы таблицы на id, target_percent_from, target_percent_to?

Если это так, вы можете использовать Laravel DB и написать что-то вроде этого:

\DB::table('target')
    ->where('target_percent_from', '>', $a)
    ->where('target_percent_to',   '<', $a)
    ->get();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...