代码点火器模型

时间:2013-06-06 22:31:10

标签: php codeigniter

调用

时出现错误HTTP 500
$this->load->model('cart/products', 'Products');

我的文件夹结构是Applications / Models / cart / products.php

不确定是否可以在Code Igniter的Models文件夹中创建子文件夹?

6 个答案:

答案 0 :(得分:1)

是的,你可以

首先加载模型

$this->load->model('cart/products');

然后像这样调用模型中的方法

$result = $this->products->get_product($id);

这是我刚刚在我的wamp中制作的例子(也应该在linux下工作)

my_controller.php

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class my_controller extends CI_Controller {


    public function products()
    {
        $this->load->model("folder/my_model");

        $result = $this->my_model->get_product(9571);

        print_r($result);

    }

}

/* End of file my_controller.php */
/* Location: ./application/controllers/my_controller.php */ 

然后在类似

的模型中创建了一个文件夹

model-under-folder-code-igniter

然后这里是模型my_model.php代码

my_model.php

<?php
class my_model extends CI_Model
{

        public function get_product($id)
        {
            $q_str = "SELECT * from products WHERE products.id = ".$id;
            $q = $this->db->query($q_str);
            return $q->result();            
        }

}


?>

干杯,

答案 1 :(得分:0)

你可以试试这个,它适合我。

$this->load->model('cart/products');

即尝试删除第二个参数。我不确定这是你收到错误的原因,但是当你修复时尝试更简单的方法并没有什么坏处。

然后您可以直接在代码中使用“产品”模型。像这样

$this->products->doSomething();

希望有所帮助:)

答案 2 :(得分:0)

我认为你应该以大写字母开头模型文件:

products.php to Products.php

...然后使用以下声明:

$this->load->model('cart/products');

答案 3 :(得分:0)

先加载模型:

$this->load->model('cart/products');

然后调用您的模型和方法:

$this->products->yourFunction();

注意:确保您的模型类名称为“产品”

答案 4 :(得分:-1)

应为$this->load->model('cart/Products_model', 'Products');

答案 5 :(得分:-1)

1)CI也支持模型下的文件夹,因此不是问题。

2)确保模型中的类名也是“产品”。文件名和类名必须相同。

3)模型中的代码也可能存在问题。要调试它,只需从模型中删除所有代码,然后保留类定义并检查它是否有效。