2016-08-03 5 views
3

Hier ist meine Abfrage eine einzelne Spalte von bekommen tCodeigniter: bekommen alle Werte von einzelnen Spalte als Array

$sql = "SELECT `id` FROM `loc8_groups`"; 
$query = $this->db->query($sql); 
print_r($query>result()); 

Seine Produkte Array wie auf diese Weise führen.

Array 
(
    [0] => stdClass Object 
     (
      [id] => 1 
     ) 

    [1] => stdClass Object 
     (
      [id] => 2 
     ) 

    [2] => stdClass Object 
     (
      [id] => 3 
     ) 

) 

Aber ich möchte als assoziatives Array zur Folge haben, die alle ids enthält.

+0

warum nicht konvertieren es nach dem Ergebnis abgerufen wird? – jitendrapurohit

Antwort

9

diesen Code Versuchen:

$sql = "SELECT `id` FROM `loc8_groups`"; 
$query = $this->db->query($sql); 
$array1=$query>result_array(); 
$arr = array_map (function($value){ 
    return $value['id']; 
} , $array1); 
print_r($arr); 
+1

Es gibt keine Möglichkeit im Codeigniter ?? –

+1

Nur diese Lösung. CI hat nur 4 Funktionen, um Ergebnisse zurückzugeben - result(), result_array(), row(), row_array(); http://www.codeigniter.com/user_guide/database/examples.html – Lakremon

+4

Code-Zünder ist so Müll lol –

2

Verwendung mysql Group_concat, foreach zu vermeiden oder mit array_map usw.

$sql = "SELECT group_concat(id separator ',') as id FROM `loc8_groups`"; 
$query = $this->db->query($sql); 
$array1 = $query->row_array(); 
$arr = explode(',',$array1['id']); 

print_r($arr); 
-2

Verwenden folgende Skript für einzelne als assoziatives Array Ergebnis zu erhalten, die alle ids enthält

$sql = "SELECT group_concat(userid separator ',') as id FROM `users`"; 
$query = $this->db->query($sql); 
$array1 = $query->row_array(); 
$arr = explode(',',$array1['id']); 

print_r($arr); 
0

diesen Code Versuchen:

$result=$this->db->select('id')->get('loc8_groups')->result_array(); 

$array=array_map (function($value){ 
       return $value['id']; 
      } , $result); 

print_r($array); 
Verwandte Themen