20250806
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
namespace goodboyalex\php_db_components_pack\classes;
|
||||
|
||||
use goodboyalex\php_components_pack\classes\Tuple;
|
||||
use goodboyalex\php_components_pack\extensions\StringExtension;
|
||||
use goodboyalex\php_components_pack\interfaces\IArrayable;
|
||||
use PHPUnit\Event\InvalidArgumentException;
|
||||
|
||||
@@ -106,11 +107,29 @@
|
||||
*/
|
||||
public function Get (int $index = 0): Tuple
|
||||
{
|
||||
// Формирование условия SQL
|
||||
$sql = "`$this->ColumnName` $this->Operator :prop_$index";
|
||||
// Начинаю формировать SQL
|
||||
$sql = (!str_starts_with($this->ColumnName, "FUNC:"))
|
||||
? "`$this->ColumnName`"
|
||||
: StringExtension::Replace('FUNC:', '', $this->ColumnName);
|
||||
|
||||
// Формирование параметров запроса
|
||||
$params = [":prop_$index" => $this->Value];
|
||||
// Добавляю оператор
|
||||
$sql .= " $this->Operator ";
|
||||
|
||||
// Если это строковое значение и передаётся функция
|
||||
if (is_string($this->Value) && str_starts_with($this->Value, "FUNC:")) {
|
||||
// - то добавляю код SQL этой функции
|
||||
$sql .= StringExtension::Replace('FUNC:', '', $this->ColumnName);
|
||||
|
||||
// - и устанавливаю пустые параметры запроса
|
||||
$params = [];
|
||||
}
|
||||
else {
|
||||
// - в противном случае, добавляю "муляжное" значение
|
||||
$sql .= ":prop_$index";
|
||||
|
||||
// - а настоящее пропишем в параметрах запроса
|
||||
$params = [":prop_$index" => $this->Value];
|
||||
}
|
||||
|
||||
// Возвращение результата
|
||||
return new Tuple($sql, $params);
|
||||
|
Reference in New Issue
Block a user