笨,访问控制器
问题描述:
我在模型下面的代码:笨,访问控制器
<?php
class Route_Model extends CI_Model
{
function __construct()
{
parent::__construct();
}
public function getRoute($date = array())
{
try {
$data = array(
'route' => array(
'id' => 1,
'name' => 'budapest-athens',
'price' => 150,
'id' => 2,
'name' => 'rome-madrid',
'pret' => 250,
'id' => 3,
'name' => 'belgrade-bucharest',
'price' => 180,
'id' => 4
)
);
return $data;
} catch (Exception $e) {
return $e->getMessage();
}
}
}?>
我想访问数组元素在我的控制器。
如何分别访问每个字段?
类似于$price = $this->data['price']
?
谢谢!
答
,如果你想从数组$data
的price
您正在返回两个级别的阵列,只是这样做在你的控制器:
$data = $this->route_model->getRoute($date);
$price = $data['route']['price'];
请注意,您的阵列不能很好地形成原因你有反复按键,这可能会导致问题
答
因为你改写键此数组不会有任何效果,我想你会希望下面的数组:
$data = [
'route' => [
[
'id' => 1,
'name' => 'budapest-athens',
'price' => 150
], [
'id' => 2,
'name' => 'rome-madrid',
'price' => 250
], [
'id' => 3,
'name' => 'belgrade-bucharest',
'price' => 180
]
]
];
接下来,您的try/catch在这里似乎没有必要,没有真正的尝试。它是一个硬编码的数组,因此除非这实际上会进行一些交互,否则不需要try/catch。
无论如何,在收到您的控制器这个数据,你应该做的:
$this->load->model('Route_model');
$route = $this->Route_model->getRoute();
var_dump($route);
exit;
现在你将有数组。另一个奇迹,你是否真的试图抓住这个阵列中的所有路线,或者是否有你想要用$date
参数做的事情?从现在开始,它看起来并没有被使用,除非你剥离了一些代码。
+0
谢谢+1 @killstreet:D –
未定义变量'date'...:/ –
'$ date'是你在'route_model'上定义的变量......只有你知道它应该包含什么 – David
谢谢大卫! + –