Skip to content

BulkOpEvent ​

Type
Class
Namespace
craft\events
Inherits
craft\events\BulkOpEvent » craft\events\ElementQueryEvent » craft\base\Event » yii\base\Event » yii\base\BaseObject
Implements
yii\base\Configurable
Since
5.0.0

Bulk operation event class.

View source

Public Properties ​

PropertyDescription
datamixed – The data that is passed to yii\base\Component::on() when attaching an event handler.
handledboolean – Whether the event is handled.
keystring – The bulk operation key.
namestring – The event name.
querycraft\elements\db\ElementQueryInterface – The element query.
senderobject, null – The sender of this event.

key ​

Type
string
Default value
null

The bulk operation key.

View source

Public Methods ​

MethodDescription
__call()Calls the named method which is not a class method.
__construct()
__get()Returns the value of an object property.
__isset()Checks if a property is set, i.e. defined and not null.
__set()Sets value of an object property.
__unset()Sets an object property to null.
canGetProperty()Returns a value indicating whether a property can be read.
canSetProperty()Returns a value indicating whether a property can be set.
className()Returns the fully qualified name of this class.
defer()Listens to a class-level event, but defers calling the handler until after a bulk operation is completed, and only if the event was triggered during the bulk operation.
hasHandlers()Returns a value indicating whether there is any handler attached to the specified class-level event.
hasMethod()Returns a value indicating whether a method is defined.
hasProperty()Returns a value indicating whether a property is defined.
init()Initializes the object.
off()Detaches an event handler from a class-level event.
offAll()Detaches all registered class-level event handlers.
on()Attaches an event handler to a class-level event.
once()Attaches an event handler to a class-level event, which will be triggered at most one time.
trigger()Triggers a class-level event.

defer() ​

Since
5.7.0

Listens to a class-level event, but defers calling the handler until after a bulk operation is completed, and only if the event was triggered during the bulk operation.

php
BulkOpEvent::deferredOn(ActiveRecord::class, ActiveRecord::EVENT_AFTER_INSERT, function ($event) {
    Yii::trace(get_class($event->sender) . ' is inserted.');
});

View source

Arguments ​

  • $class (string) – The fully qualified class name to which the event handler needs to attach.
  • $name (string) – The event name.
  • $handler (callable) – The event handler.
  • $data (mixed) – The data to be passed to the event handler when the event is triggered. When the event handler is invoked, this data can be accessed via yii\base\Event::$data.