codeigniter模型vs库哪个使用

时间:2011-09-29 09:11:51

标签: codeigniter model

有一个函数get_user_group_ids($ user_id),它返回用户所属的所有组。 这会ping批处理表并获取所有batch_ids。然后,ping ping组表并获取与batch_ids

对应的group_ids

这用于事件,工作和其他库,例如,获取属于我的批次的所有工作。在这里,我需要调用此函数来获取我的组ID。

因为这是一个常见的功能,我怀疑是否要创建公共库或模型

2 个答案:

答案 0 :(得分:1)

如果此函数从数据库或其他外部数据源获取ID,则可以使用模型:)

答案 1 :(得分:0)

我一直处于类似的情况,我需要在框架(在我的情况下是CakePHP)和批处理作业的shell脚本之间共享一个模型(一个抽象的方法集合)。为此,我发现最简单的方法是像任何其他模型一样创建CakePHP模型,除了它没有扩展基础(父)框架模型类(在您的情况下为CI_Model)。这样做的好处是我仍然可以使用与任何其他框架模型相同的约定从CakePHP“加载”(启动)类,但是能够在批量shell脚本中使用相同的模型(实际文件)而无需加载任何额外的东西。

我非常肯定在CI中也是如此(尽管我不是一个沉重的CI用户):

# the model definition /application/models/CustomModel.php
class CustomModel {
    public function __construct() {} # ...
    public function get_user_group_ids( $id ) {} # ...
}


# from inside the a controller method:
$this->load->model( 'CustomModel' );
$this->CustomModel->get_user_group_ids( $id ); # ...


# from inside the shell scripts:
require_once( YOUR_CI_PATH . '/application/models/CustomModel.php' );
$obj = new CustomModel();
$obj->get_user_group_ids( $id ); # ...

希望这有帮助, 干杯