我有一个请求Kohana返回一个数组,就像这样:
$query = DB::select()
->from('environnement')
->where('utilisateur_id','=', 'd83fa9a71cc1c414011cc1dbeb270026')
->where('region_id','=', $region_selectionnee);
$id_env = $query->execute();
return $id_env->as_array();
我在控制器中调用请求,并var_dump
调用结果。我明白了:
array(1) {
[0]=> array(4) {
["id"]=> string(32) "d83fa9a71cc1c414011cc1de74270027"
["courant"]=> string(1) "0"
["region_id"]=> string(1) "1"
["utilisateur_id"]=> string(32) "d83fa9a71cc1c414011cc1dbeb270026"
}
}
现在,我想获得此阵列的id
字段,但我不知道该怎么做。我尝试使用$id_environnement->id
,但它说
尝试获取非对象的属性
我也试过了$id_environnement["id"]
,但它说:
未定义的索引:id
有人可以帮我拿到这个ID吗?提前谢谢!
答案 0 :(得分:2)
如您所见,结果是数组,其中是您想要的对象。因此,您必须使用$id_environment[0]["id"]
来获取它。
答案 1 :(得分:0)
Arr::path($id_environment, '0.id')
如果数组键不存在,此方法不会引发异常
答案 2 :(得分:0)
您也可以使用:
$id = DB::select('id')
->from('environnement')
->where('utilisateur_id','=', 'd83fa9a71cc1c414011cc1dbeb270026')
->where('region_id','=', $region_selectionnee)
->limit(1)
->execute()
->get('id', false);
如果get()
中找不到'id'
,那么null
中的第二个参数就是你要返回的内容(如果你没有包含第二个参数,如果{{1},它将返回'id'
找不到)。
修改的
您不必在'id'
中指定select()
,但如果您执行指定一个或多个字段,get()
只能从指定的字段。