如何在不使用爆炸的情况下比较范围编号中的数据

时间:2018-09-25 10:14:37

标签: php laravel

我有桌子目标

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

我可以使用数据target_percent来比较数字示例:

$a = 55;

我想在$ a中找到什么目标ID。

现在我循环数据并使用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 :(得分:0)

是否可以将表列更改为id, target_percent_from, target_percent_to

如果是这样,您可以使用Laravel DB并编写如下内容:

\DB::table('target')
    ->where('target_percent_from', '>', $a)
    ->where('target_percent_to',   '<', $a)
    ->get();