New features, counting registers, fetch one
This commit is contained in:
@@ -19,6 +19,11 @@ class DBInstance {
|
||||
return $con->query($sql, \PDO::FETCH_OBJ);
|
||||
}
|
||||
|
||||
public static function query_one($sql, $instance = 'default') {
|
||||
$con = Connections::get_connection('default');
|
||||
return $con->query($sql, \PDO::FETCH_OBJ)->fetch();
|
||||
}
|
||||
|
||||
public static function query_prepare($sql, $arguments, $instance = 'default'){
|
||||
$con = Connections::get_connection('default');
|
||||
$statement = $con->prepare($sql);
|
||||
|
||||
+36
-4
@@ -147,6 +147,34 @@ abstract class Entity {
|
||||
return $objects;
|
||||
}
|
||||
|
||||
public function count($criterias = Array(), $trashed = false) {
|
||||
$criteria_sql = "";
|
||||
|
||||
foreach ($criterias as $key => $criteria) {
|
||||
if ($criteria_sql != "") {
|
||||
$criteria_sql .= " AND ";
|
||||
} else {
|
||||
$criteria_sql .= " WHERE ";
|
||||
}
|
||||
|
||||
if (is_string($criteria[1])) {
|
||||
$criteria_sql .= "$key $criteria[0] '$criteria[1]'";
|
||||
} else {
|
||||
$criteria_sql .= "$key $criteria[0] $criteria[1]";
|
||||
}
|
||||
}
|
||||
|
||||
if ($this->softdelete && !$trashed) {
|
||||
$sql = "SELECT COUNT(*) FROM $this->table_name $criteria_sql AND deleted_at is null";
|
||||
} else {
|
||||
$sql = "SELECT COUNT(*) FROM $this->table_name $criteria_sql";
|
||||
}
|
||||
|
||||
$results = DBInstance::query_one($sql, $this->connection_name);
|
||||
|
||||
return $results->count;
|
||||
}
|
||||
|
||||
public function find_one($criterias = Array(), $select = Array('*'), $trashed = false) {
|
||||
$select_sql = "";
|
||||
$criteria_sql = "";
|
||||
@@ -157,6 +185,8 @@ abstract class Entity {
|
||||
foreach ($criterias as $key => $criteria) {
|
||||
if ($criteria_sql != "") {
|
||||
$criteria_sql .= " AND ";
|
||||
} else {
|
||||
$criteria_sql .= " WHERE ";
|
||||
}
|
||||
if (is_string($criteria[1])) {
|
||||
$criteria_sql .= "$key $criteria[0] '$criteria[1]'";
|
||||
@@ -175,9 +205,9 @@ abstract class Entity {
|
||||
}
|
||||
|
||||
if ($this->softdelete && !$trashed) {
|
||||
$sql = "SELECT $select_sql FROM $this->table_name WHERE $criteria_sql AND deleted_at is null $limits_sql";
|
||||
$sql = "SELECT $select_sql FROM $this->table_name $criteria_sql AND deleted_at is null $limits_sql";
|
||||
} else {
|
||||
$sql = "SELECT $select_sql FROM $this->table_name WHERE $criteria_sql $limits_sql";
|
||||
$sql = "SELECT $select_sql FROM $this->table_name $criteria_sql $limits_sql";
|
||||
}
|
||||
$results = DBInstance::query($sql, $this->connection_name);
|
||||
$objects = Array();
|
||||
@@ -205,6 +235,8 @@ abstract class Entity {
|
||||
foreach ($criterias as $key => $criteria) {
|
||||
if ($criteria_sql != "") {
|
||||
$criteria_sql .= " AND ";
|
||||
} else {
|
||||
$criteria_sql .= " WHERE ";
|
||||
}
|
||||
if (is_string($criteria[1])) {
|
||||
$criteria_sql .= "$key $criteria[0] '$criteria[1]'";
|
||||
@@ -221,9 +253,9 @@ abstract class Entity {
|
||||
$select_sql = rtrim($select_sql, ', ');
|
||||
|
||||
if ($this->softdelete && !$trashed) {
|
||||
$sql = "SELECT $select_sql FROM $this->table_name WHERE $criteria_sql AND deleted_at is null $limits_sql";
|
||||
$sql = "SELECT $select_sql FROM $this->table_name $criteria_sql AND deleted_at is null $limits_sql";
|
||||
} else {
|
||||
$sql = "SELECT $select_sql FROM $this->table_name WHERE $criteria_sql $limits_sql";
|
||||
$sql = "SELECT $select_sql FROM $this->table_name $criteria_sql $limits_sql";
|
||||
}
|
||||
|
||||
$results = DBInstance::query($sql, $this->connection_name);
|
||||
|
||||
Reference in New Issue
Block a user