2016-04-12 3 views
0

У меня есть запрос с Кохана, который возвращает массив, так же, как это:Получить поле идентификатора массива

$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"], но он говорит:

Undefined индекс: идентификатор

Может ли кто-нибудь помочь мне получить этот идентификатор, пожалуйста? Заранее спасибо !

ответ

2

Как вы можете видеть, результатом является массив , в котором находится объект, который вы хотите. Поэтому вы должны использовать $id_environment[0]["id"], чтобы получить его.

+0

В нем говорится: «Попытка получить свойство не-объекта» снова:/ – Erlaunis

+0

@ Erlaunis О, тогда, вероятно, '[" id "]' way –

+0

Да, вот оно! Благодаря !! :) – Erlaunis

0
Arr::path($id_environment, '0.id') 

Этот метод не вызывают исключение, если массив ключей не существует

+0

Отлично! Я, вероятно, буду использовать его !! Благодаря :) – Erlaunis

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, если 'id' не найден).

редактировать

Вам не нужно указывать 'id' в select(), но если вы сделать указать поле (или поля), get() можно получить только из указанного поля (ов).

 Смежные вопросы

  • Нет связанных вопросов^_^