diff --git a/Tests/Integration/Delete/EntryTest.php b/Tests/Integration/Delete/EntryTest.php
index 071f3ad61f202f741f836c3f0816ba8220e6d800..fa8b577b96ce7461bb326ab60da00e7934a57b61 100644
--- a/Tests/Integration/Delete/EntryTest.php
+++ b/Tests/Integration/Delete/EntryTest.php
@@ -4,6 +4,7 @@
 namespace calderawp\CalderaFormsQuery\Tests\Integration\Delete;
 
 
+use calderawp\CalderaFormsQuery\Delete\Entry;
 use calderawp\CalderaFormsQuery\Tests\Integration\IntegrationTestCase;
 
 class EntryTest extends IntegrationTestCase
@@ -159,7 +160,41 @@ class EntryTest extends IntegrationTestCase
 			)
 		));
 
+	}
+
+	/**
+	 * Test querying by IDs
+	 *
+	 * @covers Entry::deleteByEntryIds()
+	 */
+	public function testByEntryIds()
+	{
+		$entryIdOne = $this->createEntryWithMockFormAndGetEntryId();
+		$entryIdTwo = $this->createEntryWithMockFormAndGetEntryId();
+		$entryIdThree = $this->createEntryWithMockFormAndGetEntryId();
+
+		//Delete results IN One and Three
+		$entryGenerator = $this->entryDeleteGeneratorFactory();
+		$sql = $entryGenerator->deleteByEntryIds( [
+			$entryIdOne,
+			$entryIdThree
+		])
+			->getPreparedSql();
+		$this->queryWithWPDB($sql);
+
+		//Query for entry Two expect 1 result
+		$entryGenerator = $this->entryGeneratorFactory();
+		$sql = $entryGenerator->queryByEntryId($entryIdTwo)
+			->getPreparedSql();
+		$results = $this->queryWithWPDB( $sql );
+		$this->assertSame( 1, count( $results ) );
 
+		//Query for entry One expect 0 result
+		$entryGenerator = $this->entryGeneratorFactory();
+		$sql = $entryGenerator->queryByEntryId($entryIdOne)
+			->getPreparedSql();
+		$results = $this->queryWithWPDB( $sql );
+		$this->assertSame( 0, count( $results ) );
 
 	}
 
diff --git a/src/Delete/Entry.php b/src/Delete/Entry.php
index edbf8826ad3014141b7a51271cda5653231837c6..28d6434353304b84451838491db170c758491678 100644
--- a/src/Delete/Entry.php
+++ b/src/Delete/Entry.php
@@ -28,6 +28,17 @@ class Entry extends DeleteQueryBuilder
 		return $this->is('id', $entryId);
 	}
 
+	/**
+	 * Delete an array of entries
+	 *
+	 * @param array $entryIds
+	 * @return $this
+	 */
+	public function deleteByEntryIds(array $entryIds)
+	{
+		return $this->in($entryIds);
+	}
+
 	/**
 	 * Delete entries belonging to a specific user ID
 	 *
diff --git a/src/Exceptions/Exception.php b/src/Exceptions/Exception.php
new file mode 100644
index 0000000000000000000000000000000000000000..6303effeab98c12c0ff0e2952cd18e09a3cc7180
--- /dev/null
+++ b/src/Exceptions/Exception.php
@@ -0,0 +1,8 @@
+<?php
+
+namespace calderawp\CalderaFormsQuery\Exceptions;
+
+class Exception extends \Exception
+{
+
+}
\ No newline at end of file
diff --git a/src/QueryBuilder.php b/src/QueryBuilder.php
index 3a9a311cddd15a7e2343cd4a887177805361153d..6dc87a880b700cf80ce9995ea81ff8d54444ec2a 100644
--- a/src/QueryBuilder.php
+++ b/src/QueryBuilder.php
@@ -3,7 +3,7 @@
 
 namespace calderawp\CalderaFormsQuery;
 
-use calderawp\CalderaFormsQuery\Select\DoesSelectQuery;
+use calderawp\CalderaFormsQuery\Exceptions\Exception;
 use NilPortugues\Sql\QueryBuilder\Manipulation\AbstractBaseQuery;
 
 /**
@@ -94,12 +94,17 @@ abstract class QueryBuilder implements CreatesSqlQueries
 	 *
 	 * @param string $sql SQL query with substitutions
 	 * @return string
+	 * @throws Exception
 	 */
 	protected function substituteValues($sql)
 	{
 		$values = $this->getBuilder()->getValues();
 		foreach ($values as $identifier => $value) {
-			$values[$identifier] = $this->surroundValue($value);
+			if (is_array( $value ) || is_object( $value ) ) {
+				continue;
+			} else {
+				$values[$identifier] = $this->surroundValue($value);
+			}
 		}
 		return str_replace(array_keys($values), array_values($values), $sql);
 	}
@@ -153,4 +158,19 @@ abstract class QueryBuilder implements CreatesSqlQueries
 	{
 		return $this->substituteValues($this->getBuilder()->write($this->getCurrentQuery()));
 	}
+
+	/**
+	 * Add a WHERE IN()
+	 *
+	 * @param array $entryIds
+	 * @return $this
+	 */
+	protected function in(array $entryIds)
+	{
+		$this
+			->getCurrentQuery()
+			->where()
+			->in('id', $entryIds);
+		return $this;
+	}
 }
diff --git a/src/Select/Entry.php b/src/Select/Entry.php
index 7aa28248bd48923b3044a2ad568a52b5374fec8b..c1fea3098c3ec62f2596cc4a9158612ea4c9e98d 100644
--- a/src/Select/Entry.php
+++ b/src/Select/Entry.php
@@ -42,11 +42,7 @@ class Entry extends SelectQueryBuilder
 	 */
 	public function queryByEntryIds(array $entryIds)
 	{
-		$this
-			->getSelectQuery()
-			->where()
-			->in( 'id', $entryIds );
-		return $this;
+		return $this->in($entryIds);
 	}
 
 	/**
@@ -59,4 +55,6 @@ class Entry extends SelectQueryBuilder
 	{
 		return $this->is('user_id', $userId);
 	}
+
+
 }
diff --git a/src/Select/SelectQueryBuilder.php b/src/Select/SelectQueryBuilder.php
index eb45d074344e3c2efb45487a320e3a33e0d3ad17..9c066243732a78d22a0296f6ddd744dff57c645a 100644
--- a/src/Select/SelectQueryBuilder.php
+++ b/src/Select/SelectQueryBuilder.php
@@ -3,11 +3,7 @@
 
 namespace calderawp\CalderaFormsQuery\Select;
 
-use calderawp\CalderaFormsQuery\CreatesSqlQueries;
-use calderawp\CalderaFormsQuery\MySqlBuilder;
 use calderawp\CalderaFormsQuery\QueryBuilder;
-use NilPortugues\Sql\QueryBuilder\Manipulation\AbstractBaseQuery;
-use NilPortugues\Sql\QueryBuilder\Manipulation\Delete;
 use NilPortugues\Sql\QueryBuilder\Manipulation\Select;
 
 abstract class SelectQueryBuilder extends QueryBuilder implements DoesSelectQuery
@@ -56,8 +52,12 @@ abstract class SelectQueryBuilder extends QueryBuilder implements DoesSelectQuer
 		return $this;
 	}
 
+	/**
+	 * Set new query in selectQuery prop
+	 */
 	private function setNewQuery()
 	{
 		$this->selectQuery = new \NilPortugues\Sql\QueryBuilder\Manipulation\Select($this->getTableName());
 	}
+
 }