私は最近、別の開発者が去った後に職場で投げかけられたプロジェクトに取り組んでいます (彼は去る前にそのプロジェクトに取り組んでいた唯一の人でした)。このプロジェクトは CodeIgniter で作成され、MVC フレームワークを使用しています。プロジェクトに取り組んでいる間、私は何か面白いこと、または少なくとも私が今まで見たことのないことに気づきました. モデルがコントローラーにロードされた後、オブジェクトは...を使用してビューに渡されます
$data['outcomes'] = $this->id_conversion;
id_conversion はコントローラーの上部にロードされたモデルです。私の質問は、これを使用する場合とは異なることです
new Id_conversion();
上記の代わりに。
助けてくれてありがとう、または正しい方向に私を向けることができる人。
編集。コメントを読んだ後、申し訳ありませんが、これを理解するにはもっとコードが必要であることがわかりました。
public function person($id)
{
$this->authenticate->check_access(array('admin', 'rps'), 'home');
$this->load->library('page_uri');
$this->load->model('term');
$this->load->model('user');
$this->load->model('id_conversion');
$selected_term = $this->page_uri->get_term();
$current_term = $this->term->current_term_id();
if (!isset($selected_term)) {
$selected_term = $current_term;
}
$term = new Term();
if (!empty($selected_term) && $selected_term !== '0') {
$term = new Term($selected_term);
}
$user = new User($id);
$plans = $user->plans_by_term($term);
$data = array();
$data['user'] = $user;
$data['site_url'] = site_url("reports/person");
$data['current_term'] = $this->term->current_term_id();
$data['selected_term'] = $selected_term;
$data['terms'] = $this->term->sorted_term_list();
$data['term'] = $selected_term;
$data['plans'] = $plans;
$data['outcomes'] = $this->id_conversion;
$this->load->view('template/foundation', $data);
}
モデル id_conversion が読み込まれます
class Id_conversion extends MY_Model{
function __construct()
{
parent::__construct();
}
/*
* Input a primary or secondary outcome as defined
* in the plan class and
*/
public function id_outcomes($id)
{
$sql = 'SELECT name
FROM outcomes
WHERE id ='. $id;
$query = $this->db->query($sql);
return $query->row_array();
}
}