1

私は2つのテーブルを持っています:

orders: 
orderid      customer_id amount
1       5           1
2       5           2
3       8           3
4       5           11
5       8           45
6       11          23
7       11          2

orders_items:
id      orderid      item    quantity
1       1           'item1'     1
2       1           'item2'     2
3       2           'item1'     1 
4       3           'item1'     3
5       3           'item2'     1 
6       3           'item3'     1

今、私は注文ごとのすべての異なるアイテムを含むすべての注文の情報を取得したいと思います。私が使う:

 $this->db->select()->from('orders')->join('orders_items', 'orders.orderid = orders_items.orderid' );
    $query = $this->db->get();
    $result_array = $query->result_array();

ただし、これにより、すべての注文の最後のアイテムのみを含む配列が得られます。私は何が間違っているのですか?私の最終的な配列は次のようになります。

Array
(
    [0] => Array
        (
            [orderid] => 49
            [customerid] => 2
            [amount] => 438.00
            [id] => 63
            array(
               array(
                 [item] => Service1
                 [quantity] => 22
                 [subtotal] => 439
                    ),
               array(
                 [item] => Service2
                 [quantity] => 22
                 [subtotal] => 439
                    )
                 )
        )

これはどのようにすればよいですか?

4

1 に答える 1

2

次のようなforeachループを実行する必要があります。

foreach ($query->result_array() as $row)
{
   echo $row['title'];
   echo $row['name'];
   echo $row['body'];
}
于 2012-06-12T09:55:54.950 に答える