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

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