Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel坚持返回json请求->;整数数组->;接受雄辩的模型_Php_Arrays_Json_Laravel_Laravel Eloquent - Fatal编程技术网

Php 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

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