Php Laravel坚持返回json请求->;整数数组->;接受雄辩的模型
我试图回答一个JSON请求,返回请求中交付id上的Laravel模型 这是我的-JSON请求Php Laravel坚持返回json请求->;整数数组->;接受雄辩的模型,php,arrays,json,laravel,laravel-eloquent,Php,Arrays,Json,Laravel,Laravel Eloquent,我试图回答一个JSON请求,返回请求中交付id上的Laravel模型 这是我的-JSON请求 { “地点”:[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
{
“地点”:[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();
$posts = Post::whereIn('place_id', $request->request->get('places', []))->get();
如果我将数组放入一个字符串变量,比如:$request=“1,2,3,4,5”,那么我只从第一个值(本例中的数字1)接收模型
有没有办法将我的JSON请求转换为接收所有Laravel模型
任何帮助都将不胜感激,
干杯,塞巴斯蒂安你应该试试这样的东西
$posts = Post::whereIn('place_id',[$request] )->get();
$posts = Post::whereIn('place_id', $request->request->get('places', []))->get();
当您的请求主体被删除时
{
"places": [1, 2, 3, 4, 5]
}
请尝试
$posts=Post::where('place_id',array_values($request->places))->get();
您是否只需执行$posts=Post::where('place_id',$array)->get();
?不幸的是,有一个“array_values()期望参数1为数组,给定为null”错误不幸的是,类似于foreach()错误:“为foreach()提供的参数无效”@Sebastian您是否使用Content-Type:application/json
标题发送请求?是的,我在标题中使用Content-Type-application/json&Accept-application/json。您的请求似乎有问题。您能否提供dd($request->request->all()的输出
控制器操作内部的函数调用?很抱歉响应太晚,数组:1[“place_id”=>数组:3[0=>“1”1=>“2”2=>“3”]]