0 follower

Final Class Yiisoft\ActiveRecord\Event\Handler\SetDateTimeOnUpdate

InheritanceYiisoft\ActiveRecord\Event\Handler\SetDateTimeOnUpdate » Yiisoft\ActiveRecord\Event\Handler\SetValueOnUpdate » Yiisoft\ActiveRecord\Event\Handler\AttributeHandlerProvider

Attribute for setting value of the date and time for properties before updating an existing record in the database. By default, it sets the current date and time to the updated_at property.

It can be applied to classes or properties, and it can be repeated for multiple properties.

Method Details

Hide inherited methods

__construct() public method

public mixed __construct ( mixed $value null, string $propertyNames )
$value mixed
$propertyNames string

                public function __construct(
    mixed $value = null,
    string ...$propertyNames,
) {
    $value ??= static fn(): DateTimeImmutable => new DateTimeImmutable();
    if (empty($propertyNames)) {
        $propertyNames = ['updated_at'];
    }
    parent::__construct($value, ...$propertyNames);
}

            
getEventHandlers() public method
public array getEventHandlers ( )

                public function getEventHandlers(): array
{
    return [
        BeforeUpdate::class => $this->beforeUpdate(...),
        BeforeUpsert::class => $this->beforeUpsert(...),
    ];
}

            
getPropertyNames() public method

Defined in: Yiisoft\ActiveRecord\Event\Handler\AttributeHandlerProvider::getPropertyNames()

Returns the list of property names the handler should be applied to.

public string[] getPropertyNames ( )

                public function getPropertyNames(): array
{
    return $this->propertyNames;
}

            
setPropertyNames() public method

Defined in: Yiisoft\ActiveRecord\Event\Handler\AttributeHandlerProvider::setPropertyNames()

Sets the list of property names the handler should be applied to.

public void setPropertyNames ( string[] $propertyNames )
$propertyNames string[]

                public function setPropertyNames(array $propertyNames): void
{
    $this->propertyNames = $propertyNames;
}