Laravel中的数字范围交点搜索
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Laravel中的数字范围交点搜索相关的知识,希望对你有一定的参考价值。
我有两列from和to的记录用户可以通过选择或输入from ant to值来过滤结果如何使用Laravel正确实现此功能。我现在所拥有的很简单
$query->where("field_to", '<=', $field_to);
$query->where("field_from", '>=', $field_from);
但是例如,如果数据库中的值是10和100,但是用户输入是50和200,这将不起作用。我需要某种交叉检查。还是我过度设计了某些东西?
答案
您必须使用类似这样的内容:
$field_to = 50;
$field_from = 200;
$query->where(function ($query) use ($field_from)
$query->where('field_from', '<=', $field_from)
->where('field_to', '>=', $field_from);
)
->orWhere(function ($query) use ($field_to)
$query->where('field_from', '<=', $field_to)
->where('field_to', '>=', $field_to);
);
这将抓住您的情况。
以上是关于Laravel中的数字范围交点搜索的主要内容,如果未能解决你的问题,请参考以下文章
php #laravel #php用于排序和搜索/过滤的查询范围
LeetCode810. 黑板异或游戏/455. 分发饼干/剑指Offer 53 - I. 在排序数组中查找数字 I/53 - II. 0~n-1中缺失的数字/54. 二叉搜索树的第k大节点(代码片段