我有來自和到2 列的記錄 用戶可以通過選擇或輸入從ant到值來過濾結果如何使用 Laravel 正確實現(xiàn)這個東西。我現(xiàn)在擁有的很簡單$query->where("field_to", '<=', $field_to);
$query->where("field_from", '>=', $field_from);但這將不起作用,例如,如果數(shù)據(jù)庫中的值是 10 和 100,但用戶輸入的是 50 和 200。我需要某種交叉檢查?;蛘呶疫^度設計了什么?
1 回答

萬千封印
TA貢獻1891條經驗 獲得超3個贊
你必須使用這樣的東西:
$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);
});
這將抓住你的場景。例如,如果數(shù)據(jù)庫中的記錄是 50 和 100,并且用戶輸入這些值:
55 和 70:抓住
70 和 150:接住
150 和 200:未捕獲
20 和 30:未捕獲
20 和 75:抓住
- 1 回答
- 0 關注
- 132 瀏覽
添加回答
舉報
0/150
提交
取消