Tôi có một trang web phát triển trong CodeIgniter, và trong mô hình của tôi Tôi có một chức năng như thế này:CHỌN với LIMIT trong 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;
}
Và nếu vào bộ điều khiển của tôi, tôi gọi hàm không có giới hạn và bắt đầu không kết quả trả về như sau:
$data["nationlist"] = $this->Nation_model->nationList();
Thay vào đó, nếu tôi đặt giới hạn và bắt đầu hoạt động! Nếu giới hạn và bắt đầu là null, Tại sao không trả lại kết quả? Tôi không muốn thực hiện một chức năng thứ hai hoặc một điều khiển nếu giới hạn và bắt đầu là null. Làm cách nào để giải quyết vấn đề này khi giới hạn và bắt đầu là không có kiểm soát hoặc chức năng thứ hai để làm cho mã hữu ích và hiệu quả hơn?
Tôi không nghĩ rằng nó có thể không có một 'tuyên bố if'. – Mischa
ok ... Tôi hy vọng sẽ làm điều này mà không có một điều khiển .. nhưng tại sao truy vấn không trả về một cái gì đó khi giới hạn và bắt đầu là nulla? @Mischa –
Bạn sẽ phải xem mã nguồn cho CodeIgniter, nhưng tôi giả sử '$ this-> db-> limit (null, null);' generate 'LIMIT 0,0' trong MySQL, trả về hàng cơ sở dữ liệu bằng không . – Mischa