Выберите только один столбец из нескольких строк в codeigniter. Как это сделать и является ли это более эффективным?


Я думаю об эффективности, и я не совсем уверен в этом так или иначе.

Но у меня есть куча строк с несколькими столбцами. Мне просто нужно поле name из всех строк, где определенный другой ключ является определенным значением. Я могу получить все эти строки следующим образом:
$this->db->where('res_id', $res_id);
$q = $this->db->get('products');
return $q->result();

Тогда я могу foreach через массив, который он возвращает, и использовать только метод name каждого объекта liek this:

foreach($returned_value as $fun):
    echo $fun->name;
endforeach;

Но мне интересно, было бы эффективнее выбрать только имя атрибут из каждой строки, и я чувствую себя глупо, спрашивая его, потому что я использую active record навсегда, но как бы я пошел на это. Я понимаю, что могу записать его с помощью функции $this->db->query(), но есть ли способ указать его с помощью основных команд active record? Спасибо.

1 5

1 ответ:

    $this->db->select('name'); 
    $this->db->from('tblNAME');   
    $this->db->where('res_id', $res_id);
    return $this->db->get()->result();

Это быстрее и эффективнее, я полагаю, так как вы не возвращаете все.

Непроверенные

Вот тестируемая функция, которую я использую, и вы можете найти хорошую референцию

function get($id = null) 
        {
            $this->db->select('id, Username, First_Name, Last_Name, Role, Email');
            $this->db->from('user');
            if (!is_null($id)) $this->db->where('id', $id);
            $this->db->order_by('id', 'desc');
            return $this->db->get()->result();
        }