2010-04-20 20 views
10

Digamos que construyes una consulta activerecord que siempre devolverá un solo valor, ¿cómo solo direccionar ese único valor en lugar de obtener una matriz a cambio? Por ejemplo, estoy usando una consulta de ActiveRecord para devolver la SUMA de una sola columna, solo devolverá esta única SUMA, en lugar de tener que analizar la matriz, hay una forma de asignar el valor como una función de retorno igual a ese valor en su lugar de obtener una matriz?ActiveRecord + CodeIgniter - Devuelve el valor único de la consulta, no en forma de matriz

Respuesta

31
$query = $this->db->get(); // your ActiveRecord query that will return a col called 'sum' 

echo $query->row('sum'); 
+0

¡Oooh sí! Eso es todo. Probado y funcionando bien. – txmail

+1

Esta es la respuesta correcta para Active Record, pero en general, si desea almacenar el primer resultado de cualquier matriz en una var, puede usar algo como: $ var = whatever(); $ var = $ var [0]; y luego, a partir de ese momento, no tiene que meterse con los índices. – njbair

1

esta no es la forma más bonita. No puedo encontrar una manera de hacerlo con la api de registro activo. pero aquí hay un trazador de líneas para conseguirlo.

$result = array(

    array('sum' => '23') 

); 

echo current(current($result)); 
+0

¿No sería eso establecer un valor en una matriz? – txmail

8
$output = $this->db->query("YOUR QUERY")->row()->fieldname; 

O

$output = $this->db->get("TABLE NAME")->row()->fieldname; 

Dónde fieldname es el nombre del campo que desea que la salida de la consulta.

Cuestiones relacionadas