簡體   English   中英

如何從查詢Laravel獲得相反的結果

[英]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表達式。

laravel.io

好的,我考慮了一段時間后,我認為解決方案並不像您首先提出的那樣復雜(當我首先閱讀它時,我認為您想要倒轉的結果)。

  1. 在您的評論之一中,您寫道:

上面的結果給出了用戶不能吃的食物的列表..我希望它得到上面不匹配的結果

  1. 我已經讀過有關果糖水平的信息。總而言之,高於1的水平是不好的,低於1的水平是好的。

因此,解決方案太簡單了:

$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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM