public function read()
 {
     $result = array();
     $sql = 'SELECT * FROM addresses_tb';
     foreach ($this->query($sql) as $row) {
         $address = new Address();
         AddressMapper::map($address, $row);
         $result[$address->getId()] = $address;
     }
     return $result;
 }
<?php

$errors = array();
$userObj = new User();
$addressObj = new Address();
$orderObj = new Order();
if (array_key_exists('submit', $_POST)) {
    $userData = array('id' => (int) $_SESSION['user_id'], 'first_name' => $_POST['user']['first_name'], 'last_name' => $_POST['user']['last_name']);
    $addressData = array('street_no' => $_POST['address']['street_no'], 'street' => $_POST['address']['street'], 'suburb' => $_POST['address']['suburb'], 'city' => $_POST['address']['city'], 'post_code' => $_POST['address']['post_code']);
    UserMapper::map($userObj, $userData);
    AddressMapper::map($addressObj, $addressData);
    //$errors = Validator::validate($userObj);
    //if (empty($errors)) {
    $userDao = new UserDao();
    $addressDao = new AddressDao();
    //    $_SESSION['address_id'] = ($addressDao->create($addressObj)->getId());
    $userDao->completeRegistration($userObj, $addressDao->createAddress($addressObj)->getId());
    //}
}
if (array_key_exists('order', $_POST)) {
    $orderData = array('order_details' => $_POST['orders']['order_details'], 'order_date' => $_POST['orders']['order_date'] . '00:00:00');
    OrderMapper::map($orderObj, $orderData);
    $orderDao = new OrderDao();
    $orderDao->createOrder($orderObj);
}