Codeigniter数据库记录检索 - 最佳实践 - 性能

时间:2014-03-13 09:11:06

标签: php mysql performance codeigniter

我正在检查使用PHP Codeigniter构建的PHP项目。我是PHP的新手,我希望得到您宝贵的意见

要检索php库/控制器中的名称和项目编号,请调用项目模型,如下所示

'name'=>$this->CI->Item->get_info($item_id)->name
'item_number'=>$this->CI->Item->get_info($item_id)->item_number
我怀疑上面两行代码会使两个独立的数据库sql调用而不是一次调用来反转同一个表的两列。即,性能会下降。但是有人可以告诉我它是否会发出两个sql语句吗?

我认为我们需要像对象一样处理

$row = $this->CI->Item->get_info($item_id);
echo $row->name;
echo $row->item_number;

请建议。提前谢谢。

模型功能:

function get_info($item_id)
    {
        $this->db->from('items');
        $this->db->where('item_id',$item_id);

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

        if($query->num_rows()==1)
        {
            return $query->row();
        }
        else
        {
            //Get empty base parent object, as $item_id is NOT an item
            $item_obj=new stdClass();

            //Get all the fields from items table
            $fields = $this->db->list_fields('items');

            foreach ($fields as $field)
            {
                $item_obj->$field='';
            }

            return $item_obj;
        }
    }

0 个答案:

没有答案