[英]how to get opposite results from a query Laravel
如何從SELECT查詢中獲得相反的結果
以下是我的查詢
$fod = FodMap::select('*')
->where('fructose_level', $fructose == 1 ? '=' : '>=', $fructose)
->where('lactose_level', $lactose == 1 ? '=' : '>=', $lactose)
->where('polyols_level', $polyols == 1 ? '=' : '>=', $polyols)
->where('fructan_level', $fructan == 1 ? '=' : '>=', $fructan)
->get();
我想獲取不屬於上述查詢的所有內容。 請咨詢
為了在Laravel中做出否定陳述,請使用whereNotIn
表達式。
好的,我考慮了一段時間后,我認為解決方案並不像您首先提出的那樣復雜(當我首先閱讀它時,我認為您想要倒轉的結果)。
上面的結果給出了用戶不能吃的食物的列表..我希望它得到上面不匹配的結果
因此,解決方案太簡單了:
$fod = FodMap::select('*')
->where('fructose_level', '<', $fructose)
->where('lactose_level', '<', $lactose)
->where('polyols_level', '<', $polyols)
->where('fructan_level', '<', $fructan)
->get();
同樣,原始查詢中的三元運算符也沒有意義,因為子句如下:
->where('fructose_level', $fructose == 1 ? '=' : '>=', $fructose)
將始終作為:
->where('fructose_level', '>=', $fructose)
想一想。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.