Compare commits

...

2 Commits

Author SHA1 Message Date
as2252258 7eb6151111 改名 2021-12-08 11:32:31 +08:00
as2252258 33db0bc463 改名 2021-12-07 16:43:19 +08:00
4 changed files with 12 additions and 25 deletions
+5 -5
View File
@@ -40,7 +40,7 @@ use validator\Validator;
*
* @package Kiri\Abstracts
*
* @property bool $isCreate
* @property bool $isNowExample
* @property Application $container
* @property EventDispatch $eventDispatch
* @property array $attributes
@@ -229,7 +229,7 @@ abstract class Model extends Component implements ModelInterface, ArrayAccess, T
/**
* @return bool
*/
public function getIsCreate(): bool
public function getIsNowExample(): bool
{
return $this->isNewExample === TRUE;
}
@@ -239,7 +239,7 @@ abstract class Model extends Component implements ModelInterface, ArrayAccess, T
* @param bool $bool
* @return $this
*/
public function setIsCreate(bool $bool = FALSE): static
public function setIsNowExample(bool $bool = FALSE): static
{
$this->isNewExample = $bool;
return $this;
@@ -629,7 +629,7 @@ abstract class Model extends Component implements ModelInterface, ArrayAccess, T
{
$this->_attributes = $value;
$this->_oldAttributes = $value;
$this->setIsCreate(FALSE);
$this->setIsNowExample(FALSE);
return $this;
}
@@ -1058,7 +1058,7 @@ abstract class Model extends Component implements ModelInterface, ArrayAccess, T
$model = duplicate(static::class);
$model->_attributes = $data;
$model->_oldAttributes = $data;
$model->setIsCreate(false);
$model->setIsNowExample(false);
return $model;
}
+6 -12
View File
@@ -75,24 +75,18 @@ class Connection extends Component
public Schema $_schema;
/**
* @var EventProvider
*/
#[Inject(EventProvider::class)]
public EventProvider $eventProvider;
/**
* execute by __construct
* @throws Exception
*/
public function init()
{
$this->eventProvider->on(OnWorkerStop::class, [$this, 'clear_connection'], 0);
$this->eventProvider->on(OnWorkerExit::class, [$this, 'clear_connection'], 0);
$this->eventProvider->on(BeginTransaction::class, [$this, 'beginTransaction'], 0);
$this->eventProvider->on(Rollback::class, [$this, 'rollback'], 0);
$this->eventProvider->on(Commit::class, [$this, 'commit'], 0);
$eventProvider = Kiri::getDi()->get(EventProvider::class);
$eventProvider->on(OnWorkerStop::class, [$this, 'clear_connection'], 0);
$eventProvider->on(OnWorkerExit::class, [$this, 'clear_connection'], 0);
$eventProvider->on(BeginTransaction::class, [$this, 'beginTransaction'], 0);
$eventProvider->on(Rollback::class, [$this, 'rollback'], 0);
$eventProvider->on(Commit::class, [$this, 'commit'], 0);
if (Db::transactionsActive()) {
$this->beginTransaction();
-8
View File
@@ -11,7 +11,6 @@ use Kiri\Application;
use Kiri\Events\EventProvider;
use Kiri\Exception\ConfigException;
use Kiri\Kiri;
use Note\Inject;
use Server\Events\OnWorkerStart;
/**
@@ -24,13 +23,6 @@ class DatabasesProviders extends Providers
private array $_pooLength = ['min' => 0, 'max' => 1];
/**
* @var EventProvider
*/
#[Inject(EventProvider::class)]
public EventProvider $eventProvider;
/**
* @param Application $application
* @throws Exception
+1
View File
@@ -117,6 +117,7 @@ class Model extends Base\Model
if (empty($select)) {
$select = duplicate(static::class);
$select->attributes = $attributes;
$select->setIsNowExample(true);
if (!$select->save()) {
Db::rollback();
return $logger->addError($select->getLastError(), 'mysql');