В CodeIgniter есть функция query->row_array, которая предоставит вам ассоциативный массив вашего результата, сопоставляя имена столбцов со значениями. Однако эта функция работает только в том случае, если в результате получается одна строка.
Мне нужна функция, которая будет возвращать ассоциативный массив для каждой строки в результате запроса.
В настоящее время я делаю:
$arr = array ();
foreach ($query->result() as $row) {
array_push ($arr, array("col1" => $row->col1, "col2" => $row->col2, ...));
}
return $arr;
Это не только раздражает чтение и запись, но и не масштабируется, когда я добавляю в эту таблицу больше столбцов. У меня есть похожий код в нескольких местах, и мне хотелось бы заменить его на что-нибудь более чистое.
Я надеялся на что-то вроде:
$arr = array ();
foreach ($query->result() as $row) {
array_push ($arr, $row->to_array());
}
return $arr;
Есть ли что-то подобное? Или даже лучше:
return $query->result_array ();