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'); }
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; }
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; }
/** * {@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]); }