/** * Selects DBObjects by some field value. * * @param string $fieldName Name of the field. * @param mixed $fieldValue Field value. * @param bool $debug Debug mode flag. * * @return array<DBObject> */ public function selectDBObjectsByField($fieldName, $fieldValue, $debug = false) { $query = "SELECT * FROM " . $this->dbObject->getTableName(); $query .= " WHERE " . $fieldName . " = ?"; if ($this->conditions != "") { $query .= " AND " . $this->conditions; } $query .= $this->getQueryOrderSQL(); $query .= $this->getQueryLimitSQL(); $fieldType = DBField::getType($fieldValue); if (!$debug) { $stmt = DBCore::doSelectQuery($query, $fieldType, [$fieldValue]); if ($stmt != false) { $dbObjects = DBCore::selectDBObjectsFromStatement($stmt, get_class($this->dbObject)); $stmt->close(); return $dbObjects; } return []; } DBQuery::showQueryDebugInfo($query, $fieldType, [$fieldValue]); return []; }
/** * Selects DBObjects by some field value. * * @param string $fieldName Name of the field. * @param mixed $fieldValue Field value. * @param boolean $debug Debug mode flag. * * @return array<DBObject> */ public function selectDBObjectsByField($fieldName, $fieldValue, $debug = false) { $query = "SELECT * FROM " . $this->dbObject->getTableName(); $query .= " WHERE " . $fieldName . " = ?"; if ($this->conditions != "") { $query .= " AND " . $this->conditions; } if ($this->order != "") { $query .= " ORDER BY " . $this->order; } else { $query .= " ORDER BY " . $this->dbObject->getIdFieldName() . " DESC"; } if ($this->count !== "all") { if ($this->offset > 0) { $query .= " LIMIT " . $this->offset . "," . $this->count; } else { $query .= " LIMIT " . $this->count; } } $fieldType = DBField::getType($fieldValue); if (!$debug) { $stmt = DBCore::doSelectQuery($query, $fieldType, array($fieldValue)); if ($stmt != false) { $dbObjects = DBCore::selectDBObjectsFromStatement($stmt, get_class($this->dbObject)); $stmt->close(); return $dbObjects; } } else { DBQuery::showQueryDebugInfo($query, $fieldType, array($fieldValue)); } return array(); }