2

私のモデルクラス:

<?php class Permissions extends CI_Model {

    private $userID   = '';
    private $permissions = '';

    function __construct($userID)
    {
        // Call the Model constructor
        parent::__construct();

        $this->userID = $userID;
        ....
    }
    function __construct()
    {.....}
?>

このモデルにパラメーターをロードしたいのですが、どうやらそれができませんでした。パラメータがなければ、次の方法でパラメータなしのコンストラクタをロードできます。

$this->load->model('Permissions');

私の最初の質問: ナンセンスなパラメータでモデルをロードしていますか? 2つ目:それが可能であれば、どうすればそれを行うことができますか? 前もって感謝します。

4

3 に答える 3

1

このフォーラム スレッドをご覧ください: http://codeigniter.com/forums/viewthread/115681/

しかし、パーミッション チェックの方法でユーザー ID をパラメーターとして指定する理由がわかりません。セッションを使用してユーザーデータを保存すると仮定し、セッションにユーザー ID を書き込み、これをモデルで $this->session->userdata('user_id') で呼び出します。

ハッピーコーディング!

于 2012-04-14T11:03:36.680 に答える
0

モデルの機能レベルでカスタマイズを行うことができます。モデルを拡張する理由を提供していただければ、それが理にかなっているのかどうかを判断できます。ユーザー固有のルールを作成する場合は、コントローラーで作成することをお勧めします。

class Shop_m extends CI_Model {

 function getProductPriceInfo($cat,$id) {
        $this->db->where('shop_price.catid', $cat); 
                $this->db->where('shop_price.relid', $id); 
                $this->db->select('optional.title,optional.desc,shop_price.*');
                $this->db->join('optional', 'optional.id = shop_price.relid');
        $q = $this->db->get('shop_price');
        if($q->num_rows() > 0) {
            foreach ($q->result() as $row) {
                $data[] = $row;
            }
        return $data;
        }
    } 
于 2012-04-14T11:08:19.870 に答える