Php Laravel查询,其中列在数组中包含一个或多个关键字
我有一系列关键字:Php Laravel查询,其中列在数组中包含一个或多个关键字,php,laravel,Php,Laravel,我有一系列关键字: arr = ["puppy", "kitty", "baby"]; 我想进行Laravel雄辩的查询,其中id
arr = ["puppy", "kitty", "baby"];
我想进行Laravel雄辩的查询,其中id<20,并且“subject”具有一个或多个数组值
不知道怎么写这个。我尝试了foreach,但没有成功:
foreach($keywords as $keyword) {
$firstPageTopics = Article::where('id', '<', 20)->where('type', 'LIKE', '%'.$keyword.'%')->get();
}
foreach($keywords作为$keyword){
$firstPageTopics=Article::where('id','您可以在where
的闭包中执行循环,并使用或where
方法将多个条件where链接在一起
Article::where('id', '<', 20)
->where(function ($q) use ($keywords) {
collect($keywords)->each(function ($keyword) use ($q) {
$q->orWhere('type', 'like', '%'. $keyword .'%');
});
})->get();
Article::where('id',”你能解释一下它是如何工作的吗?我试图自己弄清楚,但我对函数中的函数感到困惑,在collect函数中找不到文档。