public function delete($id)
 {
     $items = $this->orderItemTableGateway->select(['order_id' => (int) $id]);
     foreach ($items as $item) {
         $this->orderItemTableGateway->delete(['id' => $item->getId()]);
     }
     return $this->tableGateway->delete(['id' => (int) $id]);
 }
 /**
  * @covers Zend\Db\TableGateway\AbstractTableGateway::select
  * @covers Zend\Db\TableGateway\AbstractTableGateway::selectWith
  * @covers Zend\Db\TableGateway\AbstractTableGateway::executeSelect
  */
 public function testSelectWithWhereString()
 {
     $mockSelect = $this->mockSql->select();
     $mockSelect->expects($this->any())->method('getRawState')->will($this->returnValue(array('table' => $this->table->getTable())));
     // assert select::from() is called
     $mockSelect->expects($this->once())->method('where')->with($this->equalTo('foo'));
     $this->table->select('foo');
 }
Exemplo n.º 3
0
 public function findAll()
 {
     $hydrator = new ClassMethods();
     $hydrator->addStrategy('items', new OrderItemsHydratorStrategy($hydrator));
     $orders = $this->tableGateway->select();
     $res = [];
     foreach ($orders as $order) {
         $items = $this->orderItemTableGateway->select(['order_id' => $order->getId()]);
         foreach ($items as $item) {
             $order->addItems($item);
         }
         $data = $hydrator->extract($order);
         $res[] = $data;
     }
     $arrayAdapter = new ArrayAdapter($res);
     $orderCollections = new OrdersCollection($arrayAdapter);
     return $orderCollections;
 }
Exemplo n.º 4
0
 public function getOrderItems($orderId)
 {
     $itens = $this->orderItemTableGateway->select(['order_id' => $orderId]);
     $retorno = [];
     foreach ($itens as $item) {
         $retorno[$item->getId()] = $item;
     }
     return $retorno;
 }
 public function find($id)
 {
     $resultSet = $this->tableGateway->select(['id' => (int) $id]);
     if ($resultSet->count() == 1) {
         $hydrator = new ClassMethods();
         $hydrator->addStrategy('items', new OrderItemHydratorStrategy(new ClassMethods()));
         $order = $resultSet->current();
         $client = $this->clientTableGateway->select(['id' => $order->getClientId()])->current();
         $sql = $this->orderItemTableGateway->getSql();
         $select = $sql->select();
         $select->join('products', 'order_items.product_id = products.id', ['product_name' => 'name'])->where(['order_id' => $order->getId()]);
         $items = $this->orderItemTableGateway->selectWith($select);
         $order->setClient($client);
         foreach ($items as $item) {
             $order->addItem($item);
         }
         $data = $hydrator->extract($order);
         return $data;
     }
     return false;
 }
 public function find($id, UsersEntity $user = null)
 {
     $hydrator = new ClassMethods();
     $hydrator->addStrategy('items', new OrderItemHydratorStrategy($hydrator));
     $where = new Where();
     $where->equalTo('id', $id);
     if ($user) {
         $where->equalTo('user_id', $user->getId());
     }
     $order = $this->tableGateway->select($where)->current();
     if (!$order) {
         return null;
     }
     $client = $this->clientTableGateway->select(['id' => $order->getClientId()])->current();
     $order->setClient($client);
     $sql = $this->tableGatewayItems->getSql();
     $select = $sql->select();
     $select->join('products', 'order_items.product_id = products.id', ['product_name' => 'name'])->where(['order_id' => $order->getId()]);
     $items = $this->tableGatewayItems->selectWith($select);
     foreach ($items as $item) {
         $order->addItem($item);
     }
     return $hydrator->extract($order);
 }
 public function findByIdUsuario($id, $idUsuario)
 {
     $hydrator = new ClassMethods();
     $hydrator->addStrategy('items', new OrderItemHydratorStrategy(new ClassMethods()));
     $order = $this->TableGateway->select(['id' => (int) $id, 'user_id' => $idUsuario])->current();
     $res = [];
     $items = $this->OrderItemTableGateway->select(['order_id' => $order->getId()]);
     foreach ($items as $item) {
         $order->addItem($item);
     }
     $data = $hydrator->extract($order);
     $res[] = $data;
     $arrayAdapter = new ArrayAdapter($res);
     $ordersColletion = new OrdersCollection($arrayAdapter);
     return $ordersColletion;
 }
Exemplo n.º 8
0
 /**
  * {@inheritDoc}
  */
 public function select($where = null)
 {
     if (!$this->isInitialized) {
         $this->initialize();
     }
     if (null === $where) {
         return $this->sql->select();
     }
     return parent::select($where);
 }
 public function find($id)
 {
     $resultset = $this->tableGateway->select(['id' => (int) $id]);
     return $resultset->current();
 }
 public function findByName($name)
 {
     return $this->tableGateway->select(['name' => (int) $name]);
 }