Załóżmy, że tworzymy kwerendę activerecord, która zawsze zwróci pojedynczą wartość, w jaki sposób adresujemy tę pojedynczą wartość, zamiast zwracać tablicę? Na przykład używam kwerendy ActiveRecord do zwracania SUM pojedynczej kolumny, zwróci ona tylko ten pojedynczy SUM, zamiast analizować tablicę jest sposób, aby zamiast tego przypisać wartość jako funkcję zwracającą równą tej wartości uzyskania tablicy?ActiveRecord + CodeIgniter - Zwraca pojedynczą wartość z zapytania, a nie w postaci tablicy
10
A
Odpowiedz
31
$query = $this->db->get(); // your ActiveRecord query that will return a col called 'sum'
echo $query->row('sum');
1
to nie jest najładniejsza metoda. Nie mogę znaleźć sposobu, aby to zrobić z aktywnym interfejsem zapisu. ale tutaj jest jeden liniowiec, aby go zdobyć.
$result = array(
array('sum' => '23')
);
echo current(current($result));
+0
Czy nie ustawić wartości w tablicy? – txmail
8
$output = $this->db->query("YOUR QUERY")->row()->fieldname;
LUB
$output = $this->db->get("TABLE NAME")->row()->fieldname;
Gdzie fieldname
to nazwa pola, które chcesz wyjście w zapytaniu.
Oooh yeah! To rzeczy. Przetestowane i działa świetnie. – txmail
To jest właściwa odpowiedź dla rekordu aktywnego, ale ogólnie, jeśli chcesz zapisać pierwszy wynik dowolnej tablicy w var, możesz użyć czegoś takiego: $ var = whatever(); $ zmienna = $ zmienna [0]; , a następnie od tego momentu nie trzeba zadzierać z indeksami. – njbair