1

我有一个页面,我想显示动态的两个选择框。一个选择框从一个模型中获取数据,然后另一个选择框从另一个模型中获取。然后在获取数据后,它将保存它们的查询或结果,然后查看进入一个视图页面。

我想将数据保存在两个查询的数组中,这是我的控制器:

 function index(){

    $data['main_content'] = 'stockInView';



    $this->load->model('itemsModel');
    $query2 = $this->itemsModel->getAllItems();
    if ($query2)
    {
        $data['records'] = $query2;

    }

    $this->load->model('categoryModel');
    $query = $this->categoryModel->getAllCategories();
    if ($query)
    {
        $data['records'] = $query;

    }


    $this->load->view('dashboardTemplate/template',$data); 
    }

然后我在 foreach 循环中显示它们。但它只能显示第二个查询结果,或者在这种情况下只显示一个选择框中的类别而不是其他选择框中的项目。我是第一次这样做,所以我不知道该怎么做。

4

3 回答 3

2

$data['records'] = $query2;在使用类别模型时将行更改为不同的$data数组元素键,如下所示:

$this->load->model('itemsModel');
$query2 = $this->itemsModel->getAllItems();
if ($query2)
{
    $data['itemRecords'] = $query2;
}

$this->load->model('categoryModel');
$query = $this->categoryModel->getAllCategories();
if ($query)
{
    $data['categoryRecords'] = $query;
}

$this->load->view('dashboardTemplate/template',$data);

然后在您的视图中,您使用$itemRecords$categoryRecords数组将它们输出到它们的选择框。

于 2013-01-12T12:03:18.850 回答
0

您正在写 $data['records'] = $query2; 的值。$data['records'] = $query; 所以最后你只会得到第二个价值。您应该使用不同的数组字段,例如 $data['records2'] = $query2; $data['records'] = $query2;

于 2013-01-12T10:47:49.493 回答
0

您有两个模型,即itemsModelcategoryModel。如果您在构造函数中加载这两个模型,那么这两个模型都将在此控制器中加载。所以你可以在 Construct 函数中加载这两个模型。看看下面的代码......

public function __construct() {
    parent::__construct();
    $this->load->model('itemsModel');
    $this->load->model('categoryModel');
}

public function index() {

    $data['main_content'] = 'stockInView';

    $query2 = $this->itemsModel->getAllItems();
    if ($query2) {
        $data['itemRecords'] = $query2;
    }

    $query = $this->categoryModel->getAllCategories();
    if ($query) {
        $data['categoryRecords'] = $query;
    }


    $this->load->view('dashboardTemplate/template', $data);
}
于 2013-01-14T04:38:39.613 回答