выбрать из нескольких столбцов: codeIgniter - PullRequest
3 голосов
/ 24 мая 2011

Я хочу выбрать несколько столбцов в таблице, используя активные записи codeIgniter. Выбор с помощью

    $this->db->select('*');
    $this->db->from($this->table_name);

, но выбирая количество столбцов, например,

   $this->db->select('username','email','last_login','created','modified','group_id');
    $this->db->from($this->table_name);

не работает. Возвращает только массив со значениями из первого столбца. Как мне это сделать?

в соответствии с руководством пользователя CodeIgniter они привели следующий пример. поэтому я подумал, что это должно работать в моем случае.

$this->db->select('title, content, date');

$query = $this->db->get('mytable');

// Produces: SELECT title, content, date FROM mytable

1 Ответ

6 голосов
/ 25 мая 2011

Второй запрос не будет работать так, как вы ожидаете, поскольку select() ожидает строку или массив в качестве первого параметра, а не принимает неограниченные аргументы. В вашем примере будет выбран только username. Правильный строка синтаксис следующий:

$this->db->select('username, email, last_login, created, modified, group_id');

Я могу поделиться с вами гораздо большим, но я предлагаю вам еще раз прочитать или два через документацию Active Record . Удачи, и наслаждайтесь Codeigniter!

ПОСЛЕ ВАШЕГО РЕДАКТИРОВАНИЯ : Обратите внимание на различия в этих двух примерах:

1 - эта строка передает каждый столбец как отдельный аргумент:

$this->db
    ->select('username','email','last_login','created','modified','group_id');

2 - Эта строка правильно передает один аргумент (строка, разделенная запятыми):

$this->db
    ->select('username, email, last_login, created, modified, group_id');

Обратите внимание на отсутствие кавычек вокруг имени каждого столбца в (правильном) примере 2 . В примере 1 функции передано несколько аргументов, и используется только первый, а остальные игнорируются.

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