如何在laravel刀片中使用多个where条件

ih99xse1  于 2023-06-30  发布在  其他
关注(0)|答案(3)|浏览(100)

如何在laravel刀片中直接添加两个where条件?

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

gab6jxml1#

你可以在laravel blade中使用where条件,就像你可以在你的控制器中使用它们一样

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

ercv8c1e2#

你可以把多个“哪里”一个接一个地连起来。

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

我的建议是你阅读query builder文档,它解释了你可以做得很好的一切。
我还注意到你用一个all()开始了你的查询,这将从你的应用程序中运行那些where条件的数据库中检索所有行。在数据库上运行它们会更快,所以通过删除all(),查询将使用那些where条件运行,我认为这是您想要的。

6g8kf2rb

6g8kf2rb3#

在回答你的问题之前,我想指出两件事
1)首先不要使用 \App\Product::all(),然后使用where查询。这样你就可以从数据库中获取所有记录作为一个集合,然后在集合上进行where操作,而不是在数据库中。您不希望这样,因为如果您有数千或数百万条记录,所有这些记录都将被返回。
2)在你的观点中有疑问不是一个好的做法。简单地在项目中的某个地方获取查询结果,并通过控制器将该值传递给视图。
所以对于你的查询,实际上有两种方法可以用laravel查询构建器添加多个where子句
1)使用链接的位置:

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

2)在其中使用数组:

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

相关问题