Mam witryny rozwijać w CodeIgniter, aw moim modelu mam funkcję tak:SELECT z ograniczeniem w CodeIgniter
function nationList($limit=null, $start=null) {
if ($this->session->userdata('language')=="it")
$this->db->select('nation.id, nation.name_it as name');
if ($this->session->userdata('language')=="en")
$this->db->select('nation.id, nation.name_en as name');
$this->db->from('nation');
$this->db->order_by("name", "asc");
$this->db->limit($limit, $start);
$query = $this->db->get();
$nation = array();
foreach ($query->result() as $row)
array_push($nation, $row);
return $nation;
}
A jeśli w moim kontrolera I wywołać funkcję bez limitu i nie zacząć Wynik zwrotu:
$data["nationlist"] = $this->Nation_model->nationList();
Zamiast tego, jeśli ustawię limit i zacznę działać! Jeśli limit i start są zerowe, dlaczego nie zwraca wyniku? Nie chcę wykonywać drugiej funkcji ani kontroli, jeśli limit i start są zerowe. Jak mogę to rozwiązać, gdy limit i start są zerowe bez kontroli lub drugiej funkcji, aby uczynić użyteczny kod i zwiększyć jego wydajność?
Nie sądzę, że to możliwe bez 'if' oświadczeniu. – Mischa
ok ... Mam nadzieję, że zrobię to bez kontroli .. ale dlaczego zapytanie nie zwraca czegoś, gdy limit i start są nulla? @Mischa –
Będziesz musiał spojrzeć na kod źródłowy dla CodeIgniter, ale zakładam '$ this-> db-> limit (null, null);' generuje 'LIMIT 0,0' w MySQL, który zwraca zero wierszy bazy danych . – Mischa