我的模特课:
<?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');
我的第一个问题:加载带有参数废话的模型? 第二个:如果它可行,我该怎么做? 提前谢谢。
答案 0 :(得分:3)
你可以自己实例化这个类,而不是加载它。
$ permission = new Permission($ param);
答案 1 :(得分:1)
您可以查看此论坛主题:http://codeigniter.com/forums/viewthread/115681/
但我不明白为什么你想以一种权限检查方式将userid作为参数?猜测您使用会话来保存用户数据,在会话中编写用户ID并使用$ this-&gt; session-&gt; userdata('user_id')在模型中调用它。
快乐的编码!
答案 2 :(得分: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;
}
}