在进行查询后,如何在数组上同意新元素?

时间:2014-04-10 10:56:04

标签: php arrays codeigniter

我正在尝试在一个充满查询结果的数组中包含一个新元素。

例如,我有一个名为$ event的数组$event['name']$event['date']$event['price']

现在,我想添加$event['category']。这个没有在DB事件表上声明,但$ event是我的代码数组。它不依赖于DB事件表,不是吗?

那么......我如何在$event['cateogory']的类代码中将CodeIgniter置于事件中?

我试图直接把它,错误显示“类别”索引没有定义。

$events = $this->Event_model->get_all_events();
    foreach ($events as $event) {
        $event['category'] = $this->Category_model->get_category($event['idCategory']);
    }
$data{
      'events' => $events,
}
$this->load->view('events_list',$data);

谢谢大家

1 个答案:

答案 0 :(得分:0)

您应该让SQL添加类别,而不是尝试迭代每个结果并添加类别(如果您按照Tularis 所做的注释可以执行SQL Joins

Code Igniter Documentation on Active Records中,您可以找到有关在Code Igniter中加入表格的信息。

这是一个从文档调整到您的需求的简单示例:

$this->db->select('*');
$this->db->from('events');
$this->db->join('categories', 'categories.id = events.idCategory');
$query = $this->db->get();

// Produces: 
// SELECT * FROM blogs
// JOIN comments ON comments.id = blogs.id