|
@@ -424,7 +424,7 @@ class Entity {
|
|
* @return <Array<Entity>> $Entity
|
|
* @return <Array<Entity>> $Entity
|
|
*/
|
|
*/
|
|
|
|
|
|
- public static function loadAll($columns = array(), $order = null, $limit = null, $selColumn = array('*'), $joins = 0) {
|
|
|
|
|
|
+ public static function loadAll($columns = array(), $order = null, $limit = null, $selColumn = array('*'), $joins = 0,$alterator = null) {
|
|
$class = get_called_class();
|
|
$class = get_called_class();
|
|
$instance = new $class();
|
|
$instance = new $class();
|
|
$connector = $instance->connector;
|
|
$connector = $instance->connector;
|
|
@@ -478,7 +478,7 @@ class Entity {
|
|
$sql = $connector::select();
|
|
$sql = $connector::select();
|
|
$sql = Entity::render($sql,$data);
|
|
$sql = Entity::render($sql,$data);
|
|
|
|
|
|
- return $instance->customQuery($sql, $values, true, $joins);
|
|
|
|
|
|
+ return $instance->customQuery($sql, $values, true, $joins,$alterator);
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -844,7 +844,7 @@ class Entity {
|
|
return $instance->customQuery($query, $data, $fill,$joins);
|
|
return $instance->customQuery($query, $data, $fill,$joins);
|
|
}
|
|
}
|
|
|
|
|
|
- public function customQuery($query, $data = array(), $fill = false,$joins = 0) {
|
|
|
|
|
|
+ public function customQuery($query, $data = array(), $fill = false,$joins = 0,$alterator =null) {
|
|
$query = str_replace('{{table}}', $this->tableName(true,$this), $query);
|
|
$query = str_replace('{{table}}', $this->tableName(true,$this), $query);
|
|
$mapping = $this->fieldMapping;
|
|
$mapping = $this->fieldMapping;
|
|
$query = preg_replace_callback('/{{([^}]*)}}/si', function($match) use ($mapping){
|
|
$query = preg_replace_callback('/{{([^}]*)}}/si', function($match) use ($mapping){
|
|
@@ -886,6 +886,9 @@ class Entity {
|
|
foreach ($queryReturn as $key => $value) {
|
|
foreach ($queryReturn as $key => $value) {
|
|
if(!is_numeric($key)) $object->foreignColumns[$key] = $value;
|
|
if(!is_numeric($key)) $object->foreignColumns[$key] = $value;
|
|
}
|
|
}
|
|
|
|
+ if(isset($alterator)){
|
|
|
|
+ $alterator($object);
|
|
|
|
+ }
|
|
$objects[] = $object;
|
|
$objects[] = $object;
|
|
unset($object);
|
|
unset($object);
|
|
}
|
|
}
|