簡體   English   中英

如何在刀片laravel的兩種情況下使用where

[英]How to use where in two condition on blade laravel

我如何在 Laravel Blade 中添加兩個 where 條件

({{ \App\Product::all()->where('category_id',$category->id  'user_id',Auth::user()->id)->count() }})

您可以將多個 where's 串聯起來。

({{ \App\Product::where('category_id', $category->id)->where('user_id', Auth::user()->id)->count() }})

我的建議是你閱讀查詢構建器文檔,它解釋了你可以做的一切。


我還注意到您使用all()開始查詢,這將從數據庫中檢索所有行,該數據庫運行您的應用程序中的where條件。 它的速度更快,從而通過刪除你的數據庫上運行它們all()查詢會與那些運行where ,因為我認為這是你想要什么樣的條件。

您可以在 Laravel Blade 中使用 where 條件,因為您可以在控制器中使用它們

({{ \App\Product::all()->where('category_id',$category->id)->where('user_id',Auth::user()->id)->count() }})

在回答你的問題之前,我想指出兩件事

1) 首先不要使用\\App\\Product::all()然后使用 where 查詢。 通過這種方式,您將從數據庫中獲取所有記錄作為一個集合,然后在集合上而不是在數據庫中進行 where 操作。 您不希望那樣,因為如果您有數千或數百萬條記錄,所有這些記錄都會被返回。

2)在您的視圖中進行查詢不是一個好習慣。 簡單地獲取項目內某處的查詢結果,並通過控制器將該值傳遞給視圖。

因此,對於您的查詢,實際上有 2 種方法可以使用 laravel 查詢構建器添加多個 where 子句

1) 使用鏈式 wheres:

({{ \App\Product::where('category_id',$category->id)->where('user_id',Auth::user()->id)->count() }})

2) 在 where 中使用數組:

({{ \App\Product::where(['category_id' => $category->id, 'user_id' => Auth::user()->id])->count() }})

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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