使用 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();
最好在进行查询之前检查数组是否为空。
我正在使用 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";
.
需要帮助,从我已包含在我的 $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();
最好在进行查询之前检查数组是否为空。