eee
This commit is contained in:
+19
-4
@@ -510,6 +510,18 @@ abstract class Model extends Component implements ModelInterface, ArrayAccess, \
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function getChanges(): array
|
||||||
|
{
|
||||||
|
if (!$this->isNewExample) {
|
||||||
|
return \array_uintersect_assoc($this->_oldAttributes, $this->_attributes);
|
||||||
|
}
|
||||||
|
return $this->_attributes;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param $value
|
* @param $value
|
||||||
* @return $this
|
* @return $this
|
||||||
@@ -534,7 +546,7 @@ abstract class Model extends Component implements ModelInterface, ArrayAccess, \
|
|||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
$validate = $this->resolve($rule);
|
$validate = $this->resolve($rule);
|
||||||
if (!$validate->validation()) {
|
if (!$validate->validation($this)) {
|
||||||
return \Kiri::getLogger()->failure($validate->getError(), 'mysql');
|
return \Kiri::getLogger()->failure($validate->getError(), 'mysql');
|
||||||
} else {
|
} else {
|
||||||
return TRUE;
|
return TRUE;
|
||||||
@@ -548,11 +560,14 @@ abstract class Model extends Component implements ModelInterface, ArrayAccess, \
|
|||||||
*/
|
*/
|
||||||
private function resolve($rule): Validator
|
private function resolve($rule): Validator
|
||||||
{
|
{
|
||||||
$validate = Validator::instance($this->_attributes, $this);
|
$validate = new Validator();
|
||||||
foreach ($rule as $val) {
|
foreach ($rule as $val) {
|
||||||
$field = array_shift($val);
|
$field = array_shift($val);
|
||||||
|
if (is_string($field)) {
|
||||||
$validate->make($field, $val);
|
$validate->make($this, [$field], $val);
|
||||||
|
} else {
|
||||||
|
$validate->make($this, $field, $val);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return $validate;
|
return $validate;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -71,4 +71,35 @@ interface ModelInterface
|
|||||||
public function getConnection(): Connection;
|
public function getConnection(): Connection;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param string $field
|
||||||
|
* @return mixed
|
||||||
|
*/
|
||||||
|
public function getAttribute(string $field): mixed;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param string $field
|
||||||
|
* @return mixed
|
||||||
|
*/
|
||||||
|
public function getOldAttribute(string $field): mixed;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param string $field
|
||||||
|
* @return mixed
|
||||||
|
*/
|
||||||
|
public function setAttribute(string $field): mixed;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param string $field
|
||||||
|
* @return mixed
|
||||||
|
*/
|
||||||
|
public function setOldAttribute(string $field): mixed;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function getChanges(): array;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user