在这种情况下,我可以从sql获取返回值。
$estateGroup =
Estate_base::select('id')->whereIn('name',$request->estateName)->get();
但是$estateGroup
会像这样:[{id:1},{id:2}]
我想将[{id:1},{id:2}]
更改为[1,2]
所以我这样做如下:
$estateGroup =
Estate_base::select('id')->whereIn('name',$request->estateName)->get();
$idGroup=[];
foreach ($estateGroup as $estate) {
array_push($idGroup, $estate->id);
}
有什么方法可以更轻松地格式化值?
答案 0 :(得分:1)
您可以使用array_map。顺便说一句,它将以与您相同的方式进行操作,但是用更少的代码。
$idGroup = array_map(function($estate) { return $estate->id;}, $estateGroup);
答案 1 :(得分:0)
在PHP 7中,您can使用array_column()
函数和对象列表:
$idGroup = array_column($estateGroup, 'id');
这是从多个对象中提取相同属性值的最短(可能也是最快)的方法。文档中的注释:
7.0.0:添加了将输入参数作为对象数组的功能。