コードイグナイターでモデルのコンストラクターに変数を渡すことは不可能です。 MVCやコードイグナイターで何かが欠けているかもしれませんが、何が理解できません。なぜコードイグナイターでModelのコンストラクタに変数を渡すことができないのですか?
私の場合、Modelの代わりにlibrairiesを使うべきですか?実は私のコードは次のように見ている、と私はそれは少し奇妙だと思う
を(librairiesは実際にパラメータを受け入れる):
コントローラー:
class User extends CI_Controller {
public function user($user_id) {
$this->load->model('user');
$this->user->setId($user_id);
$data['username'] = $this->user->getName();
// Isn't it a bit strange ? I can load the class User even if the User doesn't mean anything ?
}
}
モデル:
class User extends CI_Model {
private $id;
private $name;
public function setId($id) {
$this->id = $id;
// Retrieve data from DB...
$this->name = $retrieved_data['name'];
}
public function getName() {
return $this->name;
}
}
モデルクラスの名前をuser_modelに変更するとどうなりますか? – Shomz
それはまったく同じことです。実際問題は、コードイグナイターのモデルがコンストラクターの変数を受け入れないことです(http://codeigniter.com/user_guide/general/models.html)。 CodeIgniter Logic(またはMVC LogicでModelがコンストラクタ内の変数を受け入れるべきではないのでしょうか?) – lepix
変数を受け入れるべきです... hm、何のエラーが発生するのですか?あなたが得る? これを書き直します。 – Shomz