Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. DatabaseFileUsageBackend.php

function DatabaseFileUsageBackend::delete

Overrides FileUsageBase::delete

File

core/modules/file/src/FileUsage/DatabaseFileUsageBackend.php, line 66

Class

DatabaseFileUsageBackend
Defines the database file usage backend. This is the default Drupal backend.

Namespace

Drupal\file\FileUsage

Code

public function delete(FileInterface $file, $module, $type = NULL, $id = NULL, $count = 1) {
    // Delete rows that have an exact or less value to prevent empty rows.
    $query = $this->connection
        ->delete($this->tableName)
        ->condition('module', $module)
        ->condition('fid', $file->id());
    if ($type && $id) {
        $query->condition('type', $type)
            ->condition('id', $id);
    }
    if ($count) {
        $query->condition('count', $count, '<=');
    }
    $result = $query->execute();
    // If the row has more than the specified count decrement it by that number.
    if (!$result && $count > 0) {
        $query = $this->connection
            ->update($this->tableName)
            ->condition('module', $module)
            ->condition('fid', $file->id());
        if ($type && $id) {
            $query->condition('type', $type)
                ->condition('id', $id);
        }
        $query->expression('count', '[count] - :count', [
            ':count' => $count,
        ]);
        $query->execute();
    }
    parent::delete($file, $module, $type, $id, $count);
}

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal