如何在 laravel 条件下使用数组从数据库 select

how to select from database using an array in condition in laravel

我有一个名为 $slugs 的数组,我需要从名为 posts 的数据库 table 接收单个数组中的数据如何存档?

如果我做对了?您需要将您的帖子提取到一个名为 $slugs 的数组中。 简单地说:

$slugs = Posts::all()->toArray();

如果我没记错的话,你有像这样的 slugs 数组 ['slug', 'slug1', 'slug2'] 并且你想从 table 获取值,其中 slugs 在单个查询中与你的 slugs 数组匹配。

//Solution via eloquent
$slugs = ['slug', 'slug1', 'slug2'];

Post::whereIn('slug', $slugs)->get();

// Solution via Query builder
use Illuminate\Support\Facades\DB;

$slugs = ['slug', 'slug1', 'slug2'];
DB::table('posts')->whereIn('slug', $slugs)->get();

如果您想将所有帖子响应转换为一个数组,然后将其分配给 $slugs 数组,您应该使用以下解决方案

$posts = Post::all()->toArray();
$slugs[] = $posts;

了解更多 whereIn visit