Php codeigniter查询始终返回null

Php codeigniter查询始终返回null,php,mysql,codeigniter,Php,Mysql,Codeigniter,我有两张桌子: +-------------+--------------+ | products_id | product_name | +-------------+--------------+ | 1 | Pizza x | | 2 | Pizza Y | | 3 | Pizza A | | 4 | Pizza Z | | 5 | Pizza W

我有两张桌子:

+-------------+--------------+
| products_id | product_name |
+-------------+--------------+
|           1 | Pizza x      |
|           2 | Pizza Y      |
|           3 | Pizza A      |
|           4 | Pizza Z      |
|           5 | Pizza W      |
+-------------+--------------+

+----+-------------+----------+----------+
| id | products_id | order_id | quantity |
+----+-------------+----------+----------+
|  1 |           1 |        5 |        3 |
|  1 |           2 |        5 |        4 |
|  2 |           3 |        6 |        3 |
|  2 |           4 |        6 |        3 |
|  3 |           5 |        7 |        2 |
+----+-------------+----------+----------+
我想为每个订单id选择产品名称和数量。我在普通sql中这样做,但是当我试图在Codeigniter中创建select子句时,它返回null

我怎么知道它是空的?我有一个验证结果是否为空的方法。如果是,控制器将显示404

注意:控制器的$id来自url

Codeigniter查询:

 public function get_products_from_orders($id){
    $this->db->select('products.product_name');
    $this->db->select('products_to_orders.quantity');
    $this->db->from('products');
    $this->db->from('products_to_orders');
    $this->db->where('products.products_id','products_to_orders.product_id');
    $this->db->where('products_to_orders.order_id',$id);

    $query = $this->db->get();
    return $query->result_array();
}
普通sql:

$data = $this->db->query("select products.product_name, products_to_orders.quantity
                          from products, products_to_orders
                          where products.products_id = products_to_orders.product_id 
                          and products_to_orders.order_id ='" . $id."'");
return $data;
控制器:

public function view($id = NULL){

    $data['products'] = $this->order_model->get_products_from_orders($id);

    if(empty($data['products'])){
      show_404();
    }
    $this->load->view('templates/header');
    $this->load->view('orders/view',$data);
    $this->load->view('templates/footer');
}

我将使用join子句:

$this->db->select('products.product_name, products_to_orders.quantity');
$this->db->from('products');
$this->db->join('products_to_orders', 'products.products_id=products_to_orders.product_id');

$this->db->where('products_to_orders.order_id',$id);

$query = $this->db->get();
return $query->result_array();
请参阅有关联接的CI文档


查看加入中的MySQL文档

谢谢,伙计!我不太擅长join和concat…这就是为什么我没有使用它,但我认为我应该更经常地使用它们