使用 Laravel 5.3 中的 whereIn 从数组中获取任何项目

Get any of the item from the Array with whereIn in Laravel 5.3

我正在使用 laravel 5.3 并尝试构建具有多个 where 和 wherein 函数的查询。这是我的代码:

$posts_id = "1,3,4";  //from my query
$results = Post::select('*');   
$results->whereIn('posts_id', [$posts_id]);
$resutls->get();

我的数据库中有 1 个 post 的 ID 为 4,但我的查询没有返回任何内容。虽然在我的 post ids $posts_id = "1,3,4";.

中有 4 个

需要帮助,从我已包含在我的 $posts_id 变量中的任何 ID 获取 posts。

提前致谢!

您需要将数组传递给 whereIn() 方法:

$results = Post::whereIn('posts_id', explode(',' $posts_id))->get();

请注意,您不需要在单独的行中调用每个方法。您可以将它们链接起来。此外,不需要 select('*') 。

您可以以任何您想要的方式创建数组,无需使用 explode()。

$ids = [1, 2, 3];
$results = Post::whereIn('posts_id', $ids)->get();

最好在进行查询之前检查数组是否为空。