ホームページ >バックエンド開発 >PHPチュートリアル >codeigniter では、Model コンストラクターはパラメーターを受け取ることができますか? 受け取れる場合、それを呼び出す方法は何ですか?
codeigniter では、Model コンストラクターはパラメーターを受け取ることができますか? 受け取った場合、それを呼び出す方法は何ですか?
タイトルの通り
codeigniter では、Model コンストラクターはパラメーターを受け取ることができますか?また、受け取れる場合、それを呼び出す方法は何ですか?
例:
class Test extends CI_Model{
function __construct($id){
$q = $this-> db ->query("Select * From test Where id='".$id."'")->row_array();
$this->name = $q[ " name"];
}
}
呼び出し時にモデルに ID を渡して直接初期化する方法
$this->load->model( "Test" , "mytest");
-----ソリューションのアイデア----------------------
そのモデルメソッドの書き方を見てください
-----解決策のアイデア----------------------
はい?
$this->load->model("Test", "mytest");
このモデル メソッドの定義を指定しましたか?
------解決策----------------------
CI はパラメータの受け渡しをサポートしていないようですこのように
------解決策のアイデア----------------------
できません
まず第一に、loader->model メソッドには初期化値を渡すためのパラメーターがありません。
/**<br /> * Model Loader<br /> *<br /> * This function lets users load and instantiate models.<br /> *<br /> * @param string the name of the class<br /> * @param string name for the model<br /> * @param bool database connection<br /> * @return void<br /> */<br /> public function model($model, $name = '', $db_conn = FALSE)
require_once($mod_path.'models/'.$path.$model.'.php');<br /><br /> $model = ucfirst($model);<br /><br /> $CI->$name = new $model();<br /><br /> $this->_ci_models[] = $name;<br />
<br />$ref = ReflectionClass($modelName);<br />$modelInstance = $ref->newInstanceArgs(初始化的参数); <br />