- Work done on Repository and QueryBuilder -- fixed some minor bugs and added some delete() functions
- Added a generic SQL query function to PDOObject
This commit is contained in:
1 parent
b589ba3c2b
commit
9df7e65dcf
10 files changed
+139
-31
No files matched your search
@@ -38,6 +38,7 @@ class Repository
|
||||
|
||||
public function loadFromPk($value, $primaryKey = "id") : EntityCollection
|
||||
{
|
||||
# var_dump("<pre>", $primaryKey);die();
|
||||
return $this->where($primaryKey, $value)->loadOne();
|
||||
}
|
||||
|
||||
@@ -46,6 +47,21 @@ class Repository
|
||||
return $this->where($field, $value)->collectionFromQuery();
|
||||
}
|
||||
|
||||
public function deleteOne()
|
||||
{
|
||||
return $this->limit(1)->deleteSqlQuery()->runQuery();
|
||||
}
|
||||
|
||||
public function deleteAll()
|
||||
{
|
||||
return $this->deleteSqlQuery()->runQuery();
|
||||
}
|
||||
|
||||
public function deleteFromPk($value, $primaryKey = "id")
|
||||
{
|
||||
return $this->where($primaryKey, $value)->deleteOne();
|
||||
}
|
||||
|
||||
public function yieldAll() : \Generator
|
||||
{
|
||||
|
||||
@@ -57,6 +73,12 @@ class Repository
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function delete() : self
|
||||
{
|
||||
$this->queryBuilder->delete($this->alias);
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function from($table) : self
|
||||
{
|
||||
foreach((array) $table as $alias => $table) {
|
||||
@@ -229,6 +251,11 @@ class Repository
|
||||
return $entityCollection;
|
||||
}
|
||||
|
||||
public function runQuery()
|
||||
{
|
||||
return Ulmus::runQuery($this->queryBuilder);
|
||||
}
|
||||
|
||||
protected function selectSqlQuery() : self
|
||||
{
|
||||
if ( ! $this->queryBuilder->has(Query\Select::class) ) {
|
||||
@@ -242,6 +269,19 @@ class Repository
|
||||
return $this;
|
||||
}
|
||||
|
||||
protected function deleteSqlQuery() : self
|
||||
{
|
||||
if ( ! $this->queryBuilder->has(Query\Delete::class) ) {
|
||||
$this->delete();
|
||||
}
|
||||
|
||||
if ( ! $this->queryBuilder->has(Query\From::class) ) {
|
||||
$this->from([ $this->alias => $this->entityResolver->tableName() ]);
|
||||
}
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
protected function fromRow($row) : self
|
||||
{
|
||||
|
||||
|
||||
Reference in new issue
Block a user