Laravel 查询其中列包含数组中的一个或多个关键字

我有一组关键字:

arr = ["puppy", "kitty", "baby"];

我想要 Laravel Eloquent 查询其中id < 20并且“主题”具有一个或多个数组值。

这个不知道怎么写。我尝试了 foreach 但没有奏效:

foreach($keywords as $keyword) {
            $firstPageTopics = Article::where('id', '<', 20)->where('type', 'LIKE', '%'.$keyword.'%')->get();
        }


元芳怎么了
浏览 219回答 1
1回答

九州编程

您可以在closurea中执行循环,where并使用该orWhere方法将多个条件 where 链接在一起。Article::where('id', '<', 20)->where(function ($q) use ($keywords) {&nbsp; &nbsp; collect($keywords)->each(function ($keyword) use ($q) {&nbsp; &nbsp; &nbsp; $q->orWhere('type', 'like', '%'. $keyword .'%');&nbsp; &nbsp; });})->get();
打开App,查看更多内容
随时随地看视频慕课网APP