从其他方法返回数据库查询和附加信息的最佳方法是什么


what is the best method to return db query and additional information from other methods

我是CodeIgniter的新手,正在努力继续学习最佳实践。我试图从多个来源返回数据——一个来源是mysqldb查询,另一个来源来自另一个从facebook提取数据的方法。

以下是我目前所拥有的:

型号:

function get_users() {
  $this->db->select('id');
  $this->db->from('users');
  $query = $this->db->get();
  return $query->results;
}
function attach_cover($user_list) {
  foreach($user_list as $user){
    $user->cover = get_cover_value($user->id);
  }
  return $user_list;
}

控制器:

$this->load->model('user_model', '', TRUE);
$data['users'] = $this->user_model->get_users();
$data['user_cover'] = $this->user_model->attach_cover($data['users']);
$this->load->view('index', $data);

视图:

foreach($data as $item) {
  echo $item->id;
  echo $item->cover;
}

问题

这样做正确吗?或者有更好的方法吗?

这是使用codedIgniter的正确方法。

只要你不在视图中放入任何逻辑,就永远不要在模型之外的任何地方使用任何与数据库相关的逻辑,而是纯粹使用控制器来组合模型和视图。。。你不应该犯太大的错误。

CodeIgniter不是一个非常严格的框架,不幸的是,它太容易开始把东西放在错误的地方,即控制器中的sql。