public function delete()
    {
        $result = false;
        if ($this->beforeDelete()) {
            $result = $this->deleteInternal();
            $this->afterDelete();
        }

        return $result;
    }
public function delete()
    {
        $result = false;
        if ($this->beforeDelete()) {
            $result = $this->deleteInternal();
            $this->afterDelete();
        }

        return $result;
    }
public function delete ( ) { $ result = false ; if ( $ this -> beforeDelete ( ) ) { $ result = $ this -> deleteInternal ( ) ; $ this -> afterDelete ( ) ; } return $ result ; }
Deletes the document corresponding to this active record from the collection.

This method performs the following steps in order:

1. call [[beforeDelete()]]. If the method returns false, it will skip the
rest of the steps;
2. delete the document from the collection;
3. call [[afterDelete()]].

In the above step 1 and 3, events named [[EVENT_BEFORE_DELETE]] and [[EVENT_AFTER_DELETE]]
will be raised by the corresponding methods.

@return int|bool the number of documents deleted, or false if the deletion is unsuccessful for some reason.
Note that it is possible the number of documents deleted is 0, even though the deletion execution is successful.
@throws StaleObjectException if [[optimisticLock|optimistic locking]] is enabled and the data
being deleted is outdated.
@throws \Exception in case delete failed.
Deletes the document corresponding to this active record from the collection .