如何在CodeIgniter中调用模型方法?

时间:2016-11-02 11:27:15

标签: php codeigniter

我刚刚继承了一个CI项目,并试图弄清楚一些事情。我面临的一个问题是:

鉴于这两个链接:

/esales/index.php/sales/send_receipt

/esales/index.php/sales/run

我正在浏览CI项目并注意到这个文件:

esales/application/models/sale.php内,有2个函数被执行,主要是:

class sale_model extends CI_Model{
  public function get_sales_data(){ /* gets sales data */}
  public function send_invoice(){ /* sends order receipt */}

我们的想法是,当用户点击/index.php/sales/run时,系统会运行get_sales_data()功能,当点击/index.php/sales/send_receipt时,就会运行send_invoice()

CodeIgniter如何将链接连接到模型中的本机方法?特别是,CI如何知道/sales/被转换为sales_model PHP对象?

2 个答案:

答案 0 :(得分:2)

您是否检查过controller ...中的sales.php文件,该文件可能包含“send_receipt”,“run”方法。可能在那些控制器中调用模型函数..

答案 1 :(得分:0)

没有控制器命令,无法访问模型和视图。这就是我们所说的MVC Security

除非您的控制器调用它,否则您的get_sales_datasend_invoice不会自动/独立调用。

检查您的控制器是否有这些代码。

class Sales extends CI_Controller {

    public function index() {

    }

    public function run()
    {
        $this->load->model('sale_model'); #load model
        $this->sale_model->get_sales_data(); # access data
    }

    public function send_receipt()
    {
        $this->load->model('sale_model'); # load model
        $this->sale_model->send_invoice(); # access data
    }

}