Gajus\MOA\Mother::delete PHP Method

delete() public method

Delete object from the database. Deleted object retains its data except for the primary key value.
public delete ( )
    public function delete()
    {
        if (!isset($this->data[static::PRIMARY_KEY_NAME])) {
            return $this;
        }
        $this->db->beginTransaction();
        $this->db->prepare("DELETE FROM `" . static::TABLE_NAME . "` WHERE `" . static::PRIMARY_KEY_NAME . "` = ?")->execute([$this->data[static::PRIMARY_KEY_NAME]]);
        try {
            $this->afterDelete();
        } catch (\Exception $e) {
            if ($this->db->inTransaction()) {
                $this->db->rollBack();
            }
            throw $e;
        }
        if (!$this->db->inTransaction()) {
            throw new Exception\LogicException('Transaction was commited before the time.');
        }
        $this->db->commit();
        unset($this->data[static::PRIMARY_KEY_NAME]);
        return $this;
    }