Code Igniter Active Record - количество строк и результаты - PullRequest
1 голос
/ 07 марта 2012
$query = $this->db->select('*')->from($this->table)->order_by($sql);

Документация CI не ясна по этому поводу, и я не совсем уверен, как это должно работать ... если у меня есть этот запрос и мне нужно проверить num_rows () И получить результаты в массиве. Как бы я это сделал?

Когда я использую $this->db->select('*')->from($this->table)->order_by($sql)->get(); Я не могу проверить num_rows ()

В идеале я бы использовал result_array () для получения результатов в массиве.

Ответы [ 3 ]

3 голосов
/ 07 марта 2012

Попробуйте использовать это

$query = $this->db->order_by('column name')->get('your tablename');

//note that your result must be an object

$count = $query->num_rows();//your num rows result handler

$result = $query->result_array();//your query result
0 голосов
/ 06 ноября 2014

лучше использовать:

$result = $query->row();
$cnt = $result->count;

вместо result_array ();который дает вам ошибку.Надеюсь это поможет!

0 голосов
/ 07 марта 2012

Измените функцию в вашей модели следующим образом:

function your_function()

{

    $this->db->select('*, COUNT(*) as count');
    $this->db->order_by($sql);
    $query = $this->db->get('table');

    if ($query->num_rows() > 0)

    {

        return $query->result();

    }

}

Передайте данные из вашего контроллера в ваше представление.

    $data['data'] = $this->your_model->your_function();

И затем вы можете отобразить их, как и любые другиевозвращаемые данные.

    echo $data->count;

Возможно, вам потребуется отредактировать несколько кусочков, например, имя таблицы, но это должно сработать.

:)

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