$est_data = Establishments::where('status',0)->where('city','=',$data['location'])->get(array('id'));
return $est_data;
结果:
[{"id":43},{"id":71},{"id":41},{"id":39}]
这是我上述的laravel条件和结果,我希望结果像43,71,41,39
。
谁能帮助我,如何使用php做到这一点。我尝试使用implode()
函数,但遇到错误,请帮助...谢谢
答案 0 :(得分:2)
Laravel pluck
方法将仅选择必填字段:
$est_data = Establishments::where('status',0)->where('city','=',$data['location'])->pluck('id');
return $est_data;
@apokryfos针对您的laravel版本(4.2)评论lists
,应使用以下方法:
$est_data = Establishments::where('status',0)->where('city','=',$data['location'])->lists('id');
return $est_data;
答案 1 :(得分:1)
您可以使用laravel array_flatten()数组助手:
array_flatten函数将多维数组展平为 单级数组:
$array = array('name' => 'Joe', 'languages' => array('PHP', 'Ruby'));
$array = array_flatten($array);
// array('Joe', 'PHP', 'Ruby');
在您的情况下:
$est_data = Establishments::where('status',0)->where('city','=',$data['location'])->pluck('id');
return array_flatten($est_data);
答案 2 :(得分:0)
$result = implode(',',$est_data[0]);
这将解决您的问题。您应该阅读有关implode(转换为字符串)和explode(从字符串转换为数组)的信息。它们确实是有用的php函数。
在阅读您的评论时,您的错误是由于您尝试访问$set_data
而不是$set_data[0]
而导致的,您的价值基于您提供给我们的输出。
答案 3 :(得分:0)
使用php array_column函数,指定id
:
$est_data = Establishments::where('status',0)->where('city','=',$data['location'])->pluck('id');
return array_column("id", $est_data);