あなたは自分の注文データここ
持つすべての注文項目を選択することができますが(https://eval.in/835997)
このデモでは、テストのために偽のデータに依存ライブデモを試すのMysqliソリューション
$mysqli = new mysqli("example.com", "user", "password", "database");
$query = " SELECT * FROM order LEFT JOIN orderitems ON order.id = orderitems.order_id ";
$stmt = $mysqli->prepare($query);
!$stmt ? die('error') : "";
$stmt->execute();
$result = $stmt->get_result();
while ($row = $result->fetch_array(MYSQLI_ASSOC)) {
if($lastOrderId != $row['id']){
if($order){
$finalArray[] = $order;
}
$lastOrderId = $row['id'];
$order = new \stdClass();
//$order->id = $row['id'];
$order->table_id = $row['table_id'];
$order->date_time = $row['date_time'];
$order->items = [];
}
if($row['food_item']){
$orderItem = new \stdClass();
$orderItem->food_item = $row['food_item'];
$orderItem->item_qty = $row['item_qty'];
$orderItem->dalivery = $row['dalivery'];
$order->items[] = $orderItem;
}
}
//last order in loop
if($order){
$finalArray[] = $order;
}
print_r($finalArray) ;
exit;
です
$row1 = ["id"=>1,"table_id"=>5,"date_time"=>"2017-12-31","food_item"=>1,"item_qty"=>1,"dalivery"=>"yes"];
$row2 = ["id"=>1,"table_id"=>5,"date_time"=>"2017-12-31","food_item"=>2,"item_qty"=>2,"dalivery"=>"no"];
$row3 = ["id"=>2,"table_id"=>5,"date_time"=>"2017-12-31","food_item"=>3,"item_qty"=>3,"dalivery"=>"yes"];
$row4 = ["id"=>2,"table_id"=>5,"date_time"=>"2017-12-31","food_item"=>4,"item_qty"=>4,"dalivery"=>"no"];
$rows = [$row1, $row2, $row3, $row4];
Array
(
[0] => stdClass Object
(
[table_id] => 5
[date_time] => 2017-12-31
[items] => Array
(
[0] => stdClass Object
(
[food_item] => 1
[item_qty] => 1
[dalivery] => yes
)
[1] => stdClass Object
(
[food_item] => 2
[item_qty] => 2
[dalivery] => no
)
)
)
[1] => stdClass Object
(
[table_id] => 5
[date_time] => 2017-12-31
[items] => Array
(
[0] => stdClass Object
(
[food_item] => 3
[item_qty] => 3
[dalivery] => yes
)
[1] => stdClass Object
(
[food_item] => 4
[item_qty] => 4
[dalivery] => no
)
)
)
)
私は仲間でした。私はarray_push()を使用しました。 – Rifthy
@Rifthyあなたは歓迎です:) –