将参数(即另一个模型函数的结果)传递给模型函数

时间:2012-08-16 20:00:36

标签: php oop codeigniter

如何将参数(即另一个模型函数的返回值)传递给模型类的函数。

这是我的模型类函数

public function get_products_categories()
{
$query = $this->db->query('SELECT DISTINCT category 
                           FROM products');
return $query->result_array();
}   


public function get_products_names($category)
{
$query = $this->db->query('SELECT name 
                           FROM products
                           WHERE category=$category');
return $query->result_array();
}   

这就是我在控制器类中的表现

$this->load->model('products_model');
    $data['products_categories'] = $this->products_model->get_products_categories();
    $data['products_names'] = $this->products_model->get_products_names();

现在我想要的是将$products_categories传递给函数$this->products_model->get_products_names();,但这是不可能的$products_categories在控制器类中不可变,但在视图文件中,它可以是用作变量

任何想法?

2 个答案:

答案 0 :(得分:1)

你想做什么?例如,如果要列出类别中的所有产品,可以执行以下操作:

$data['products_categories'] = $this->products_model->get_products_categories();
$data['products_names'] = array();

foreach($data['products_categories'] as $product){
  $data['products_names'][$product['category']] = $this->products_model->get_products_names($product['category']);
}

答案 1 :(得分:0)

尝试:

$this->load->model('main_model');
$data1 = $this->main_model->function1();

//如果您想将data1传递给fun2(),那么

$data2 = $this->main_model->function2($data1);

如果第二个乐趣是在另一个模型中尝试加载它然后给出:

$data2 = $this->another_model->function2($data1);
该死的确定没问题......