- Started working on decoupling QueryBuilder from SqlQueryBuilder

- WIP on SearchRequest attributes
- Began working on removing 'Ulmus' class
- WIP on removing SQL query building from Repository (which will become SqlRepository)
This commit is contained in:
Dave Mc Nicoll committed 2024-04-17 15:54:48 -04:00
1 parent 4571517dc8
commit 9fdebf454d
21 files changed
+114 -127

No files matched your search

+2 -2
View File
@@ -2,11 +2,11 @@
namespace Ulmus\Query;
abstract class Fragment {
abstract class Fragment implements QueryFragmentInterface{
public int $order = 0;
public abstract function render() /*: mixed*/;
public abstract function render() : mixed;
public function order() : float
{
+3 -3
View File
@@ -9,10 +9,10 @@ class GroupBy extends Fragment {
const SQL_TOKEN = "GROUP BY";
public function set(array $order) : self
public function set(array $fields) : self
{
$this->groupBy = [ $order ];
$this->groupBy = $fields;
return $this;
}
-2
View File
@@ -2,8 +2,6 @@
namespace Ulmus\Query;
use Ulmus\MysqlQueryBuilder;
use Ulmus\Common\EntityField,
Ulmus\Common\Sql;
-1
View File
@@ -2,7 +2,6 @@
namespace Ulmus\Query;
use Ulmus\MysqlQueryBuilder;
use Ulmus\Repository\ConditionTrait;
class Join extends Fragment
-15
View File
@@ -1,15 +0,0 @@
<?php
namespace Ulmus\Query;
use Ulmus\Query;
interface QueryBuilderInterface
{
public function push(Fragment $queryFragment) : self;
public function pull(Fragment $queryFragment) : self;
public function render(bool $skipToken = false) /* mixed */;
public function reset() : void;
public function getFragment(string $class, int $index = 0) : ? Fragment;
public function removeFragment(Query\Fragment|array|\Stringable|string $fragment) : void;
}
+8
View File
@@ -0,0 +1,8 @@
<?php
namespace Ulmus\Query;
interface QueryFragmentInterface
{
public function render() : mixed;
}
-2
View File
@@ -2,8 +2,6 @@
namespace Ulmus\Query;
use Ulmus\MysqlQueryBuilder;
class Set extends Fragment {
public int $order = 0;
+2 -4
View File
@@ -2,8 +2,6 @@
namespace Ulmus\Query;
use Ulmus\MysqlQueryBuilder;
class Values extends Fragment {
public int $order = 0;
@@ -12,9 +10,9 @@ class Values extends Fragment {
public array $rows;
public MysqlQueryBuilder $queryBuilder;
public QueryBuilderInterface $queryBuilder;
public function __construct(MysqlQueryBuilder $queryBuilder)
public function __construct(QueryBuilderInterface $queryBuilder)
{
$this->queryBuilder = $queryBuilder;
}