CodeIgniter проблема с лимитом - PullRequest
1 голос
/ 18 мая 2011

У меня есть LoteModel:

public function selecionar($where = NULL, $limit = NULL, $order_by = NULL) {
            if(!is_null($where)) {
                $this->db->where($where);
            }
            if(!is_null($limit)) {
                $this->db->limit($limit);
            }
            if(!is_null($order_by)) {
                $this->db->order_by($order_by);
            }

            return $this->db->get(_LOTE_);//_LOTE_ is a constant for my table name
    }

, и я называю его так:

$config['per_page'] = '5';

$limite = $config['per_page'].','.$this->uri->segment(3); //the segment is ok, I receive it

$lotes = $this->LoteModel->selecionar(array('quadra_id'=>$quadra_id, 'lote_status'=>1), $limite, 'lote_endereco'); 

Я проверил результат SQL для этого запроса:

SELECT * FROM (`realestate_lote`) WHERE `quadra_id` = '1' AND `lote_status` = 1 ORDER BY `lote_endereco` 

Дело в том, что он не генерирует мой LIMIT, он будет работать, только если я добавлю его в метод LoteModel.

Я работаю с нумерацией страниц.

Заранее спасибо за любую помощь=)

1 Ответ

4 голосов
/ 19 мая 2011

Вы не можете передать строку типа «5,1» в функцию ограничения ActiveRecord CI.Функция требует двух параметров.

Разделите строку предела на "," и передайте два значения, как в примере ниже.

$limit = explode(',', $limit);
$this->db->limit($limit[0], $limit[1]);

Надеюсь, это поможет ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...