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]
}
我试图回答一个 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]
}