20250801
This commit is contained in:
@@ -0,0 +1,125 @@
|
||||
<?php
|
||||
|
||||
namespace goodboyalex\php_db_components_pack\traits\ConditionBuilder;
|
||||
|
||||
use goodboyalex\php_db_components_pack\classes\Condition;
|
||||
use goodboyalex\php_db_components_pack\classes\ConditionBuilder;
|
||||
|
||||
/**
|
||||
* Трейт для построителя условий запроса выборки, отвечающий за задание цепочки условий.
|
||||
*
|
||||
* @author Александр Бабаев
|
||||
* @package php_components_pack
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
trait ConditionBuilderConditionsSet
|
||||
{
|
||||
/**
|
||||
* Добавляет условие равенства.
|
||||
*
|
||||
* @param string $column Имя колонки.
|
||||
* @param mixed $value Значение.
|
||||
*
|
||||
* @return ConditionBuilder Возвращает объект для цепочек.
|
||||
*/
|
||||
public function WhereEquals (string $column, mixed $value): ConditionBuilder
|
||||
{
|
||||
return $this->AddCondition($column, '=', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Добавляет условие не равенства.
|
||||
*
|
||||
* @param string $column Имя колонки.
|
||||
* @param mixed $value Значение.
|
||||
*
|
||||
* @return ConditionBuilder Возвращает объект для цепочек.
|
||||
*/
|
||||
public function WhereNotEquals (string $column, mixed $value): ConditionBuilder
|
||||
{
|
||||
return $this->AddCondition($column, '<>', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Добавляет условие больше.
|
||||
*
|
||||
* @param string $column Имя колонки.
|
||||
* @param mixed $value Значение.
|
||||
*
|
||||
* @return ConditionBuilder Возвращает объект для цепочек.
|
||||
*/
|
||||
public function WhereGreaterThan (string $column, mixed $value): ConditionBuilder
|
||||
{
|
||||
return $this->AddCondition($column, '>', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Добавляет условие меньше.
|
||||
*
|
||||
* @param string $column Имя колонки.
|
||||
* @param mixed $value Значение.
|
||||
*
|
||||
* @return ConditionBuilder Возвращает объект для цепочек.
|
||||
*/
|
||||
public function WhereLessThan (string $column, mixed $value): ConditionBuilder
|
||||
{
|
||||
return $this->AddCondition($column, '<', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Добавляет условие больше или равно.
|
||||
*
|
||||
* @param string $column Имя колонки.
|
||||
* @param mixed $value Значение.
|
||||
*
|
||||
* @return ConditionBuilder Возвращает объект для цепочек.
|
||||
*/
|
||||
public function WhereGreaterThanEqual (string $column, mixed $value): ConditionBuilder
|
||||
{
|
||||
return $this->AddCondition($column, '>=', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Добавляет условие меньше или равно.
|
||||
*
|
||||
* @param string $column Имя колонки.
|
||||
* @param mixed $value Значение.
|
||||
*
|
||||
* @return ConditionBuilder Возвращает объект для цепочек.
|
||||
*/
|
||||
public function WhereLessThanEqual (string $column, mixed $value): ConditionBuilder
|
||||
{
|
||||
return $this->AddCondition($column, '<=', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Добавляет условие.
|
||||
*
|
||||
* @param string $column Имя колонки.
|
||||
* @param string $operator Оператор (<=, <, =, >, >=).
|
||||
* @param mixed $value Значение.
|
||||
*
|
||||
* @return ConditionBuilder Возвращает объект для цепочек.
|
||||
*/
|
||||
private function AddCondition (string $column, string $operator, mixed $value): ConditionBuilder
|
||||
{
|
||||
return $this->AddConditionA(new Condition($column, $operator, $value));
|
||||
}
|
||||
|
||||
/**
|
||||
* Добавляет условие.
|
||||
*
|
||||
* @param Condition $condition Условие.
|
||||
*
|
||||
* @return ConditionBuilder Возвращает объект для цепочек.
|
||||
*/
|
||||
private function AddConditionA (Condition $condition): ConditionBuilder
|
||||
{
|
||||
// Добавляем условие
|
||||
$this->Conditions[] = $condition;
|
||||
|
||||
// Возвращаем объект
|
||||
return $this;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user