【发布时间】:2017-05-08 03:39:36
【问题描述】:
我想使用$data['main'] 并从中获取特定的行或数据:extra_id
我会将extra_id 用于另一个功能。
我尝试从$data['main'] 访问数据,就像我在另一个页面的视图中所做的那样:$extra_id = $main->result()->extra_id;
不幸的是,它没有用。
控制器:
public function viewData($id)
{
$this->load->model('myModel');
$data['main'] = $this->MyModel->getMainData($id);
$extra_id = $main->result()->extra_id; //error here. undefined variable main.
$data['extra'] = $this->MyModel->getExtraData($extra_id);
$this->load->view('view',$data);
}
型号:
public function getMainData($id) {
$this->db->select('main.id as extra_id');
$this->db->select('main.*');
$this->db->select('extra.*');
$this->db->from('main');
$this->db->join('extra', 'extra.main_id = main.id');
$query = $this->db->get();
return $query;
}
【问题讨论】:
-
最好
$data['main']->result()->extra_id; -
@JustOnUnderMillions 好的。我尝试过这个。它产生了另一个错误,即
Trying to get property of non-object -
如果您有多个结果,则错误是正确的。
var_dump()看看你得到了什么。 -
另请阅读此处stackoverflow.com/questions/8541291/… 并使用
result_array(),如示例中所示 -
请了解如何访问任何类型的 $variables
arrays,objects,...。看起来一切都很好,但你现在不知道如何访问你可以看到的东西。但这是你必须学习的基本 PHP 语法。
标签: php codeigniter