2015-08-12 1 views
0

Стандартный способ получить данные из базы данных в виде нумерованного массива:Функция Native CodeIgniter для выбора нумерованных массивов (драйвер PDO)?

$query = $db_instance->prepare("SELECT some_field FROM table"); 
$query->execute(); 
$result = $query->fetchAll(PDO::FETCH_NUM); 

Использование рамки CodeIgniter я узнал о функциях Query Helper, которые помогают получить данные, как это:

$query = $db_instance->select('some_field'); 
$query = $db_instance->get('table'); 
$result = $query->result_array(); 

НО выше сценарий дает результат который является ассоциативным массивом, где первым индексом является номер строки, а второй - имя поля.

Вопрос: какой код следует добавить (и где в этом втором скрипте), что выход будет представлять собой пронумерованный массив, а не ассоциативный (я предполагаю, что PDO :: FETCH_NUM должен быть добавлен в какую-либо функцию как параметр)?

ответ

2

CodeIgniter не имеет метода, который делает это, и ИМО это не принесет никакой пользы, если бы это произошло.

Если вам действительно нужны нумерованные индексы, просто вызовите array_values() на ассоциативный массив.

+0

Хорошо, всегда есть обходное решение =) Btw array_values ​​() не работает в моем случае ... – olegzhermal

+0

Вы просто не используете его правильно ... вы делаете 'array_values ​​($ query-> result_array()) ', но это числовой массив, содержащий несколько ассоциативных - вы хотите использовать его на них. – Narf

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