Laravel 卡在返回 json 请求 -> 整数数组 -> 接收 Eloquent 模型

Laravel Stuck with returning a json request -> Integer Array -> receiving Eloquent Models

我试图回答一个 JSON 请求,返回 Laravel-请求中提供的 ID 的模型。

这是我的-JSON-请求 { "places": [1,2, 3, 4, 5] }

首先我将它转换为数组:

将请求转换为数组

$array = $request->places;

输出:

array:5 [
  0 => 1
  1 => 2
  2 => 3
  3 => 4
  4 => 5
]

这就是我接收所有模型的方式(1,2 是本例中手动输入的 ID: 获取所有地点

$posts = Post::whereIn('place_id',[1,2] )->get();

我的问题,占位符 [1,2] 只允许整数列表。但是我无法像这样将我的数组转换为占位符变量。

$posts = Post::whereIn('place_id',[$request] )->get();

如果我将数组放入一个字符串变量中,假设:$request = "1,2,3,4,5" 那么,我只从第一个值(在本例中为数字 1)接收模型。

有什么方法可以转换我的 JSON-Requests 以接收所有 Laravel 模型?

任何帮助将不胜感激, 干杯塞巴斯蒂安

你应该尝试这样的事情。

$posts = Post::whereIn('place_id', $request->request->get('places', []))->get();

当你的请求正文是。

{
    "places": [1, 2, 3, 4, 5]
}