public function delete($entity) { $delete = new Delete($this->tableName); foreach ($this->connectionFactory->getTable($this->tableName)->getTableColumns() as $column) { if ($column->getIsPrimary()) { $value = $column->getDefault(); $name = $column->getName(); if (method_exists($entity, 'get' . $name)) { $value = $entity->{'get' . $name}(); } elseif (method_exists($entity, $name)) { $value = $entity->{$name}(); } elseif (isset($entity->{$name})) { $value = $entity->{$name}; } $delete->whereEquals($name, $value); } } if (!$delete->hasCondition()) { throw new QueryError('No condition found'); } $this->connectionFactory->query($delete); }
public function testInvalidQuery() { $this->setExpectedException('Db\\ExecuteException'); $this->factory->query(new RawQueryTest('Error')); }