好吧,所以一般来说,这样做不会有问题,而且相当直接,但这次不是很多。
以下是我的控制器中的相关代码:
// In order to properly build the form url, we need to include the
// category and product to the view
$this->data = array(
'category' => $category,
'product' => $product
);
// Load the product model and get editable values from the database
$this->load->model('productadmin/products_model');
$productInformation = $this->products_model->get_product_data($product);
// Modular code! Use variable-variables to prevent having to write multiple lines of code
// when we start returning more information from the data
foreach ( $productInformation as $variable => $value )
{
$this->data[$variable] = $value;
}
现在,理想情况下,我应该能够访问$ product,$ category以及从产品模型返回的任何变量。做一个print_r,我得到以下内容:
Array ( [category] => 1 [product] => 1 [0] => Array ( [id] => 1 [product_name] => Duff ) )
注意foreach语句生成的内容如何包含在它自己的数组中。最简单的解决方案是通过传递$this->data
来了解如何从视图中访问第二个数组。
如果那不可行,我可以更改哪些内容会在数据数组中分配模型的关联值而不在其中创建另一个数组?
该模型只返回get_where语句中的键值对。
答案 0 :(得分:1)
在将数据传递给视图之前,应该为数据使用关联数组。尝试更改这一行:
foreach ( $productInformation as $variable => $value )
{
$this->data[$variable] = $value;
}
用这个:
foreach ( $productInformation as $variable => $value )
{
$this->data['product_information'][$variable] = $value;
}
然后在您看来,您可以使用$product_information
变量访问您的商品信息。
注意:我假设您使用以下方法将数据传递给视图:
$this->load->view('your_view', $this->data);