function DatabaseFileUsageBackend::add

Same name and namespace in other branches
  1. 10 core/modules/file/src/FileUsage/DatabaseFileUsageBackend.php \Drupal\file\FileUsage\DatabaseFileUsageBackend::add()
  2. 11.x core/modules/file/src/FileUsage/DatabaseFileUsageBackend.php \Drupal\file\FileUsage\DatabaseFileUsageBackend::add()
  3. 9 core/modules/file/src/FileUsage/DatabaseFileUsageBackend.php \Drupal\file\FileUsage\DatabaseFileUsageBackend::add()
  4. 8.9.x core/modules/file/src/FileUsage/DatabaseFileUsageBackend.php \Drupal\file\FileUsage\DatabaseFileUsageBackend::add()

Overrides FileUsageBase::add

File

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

Class

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

Namespace

Drupal\file\FileUsage

Code

public function add(FileInterface $file, $module, $type, $id, $count = 1) {
  $this->connection
    ->upsert($this->tableName)
    ->key([
    'fid',
    'type',
    'id',
    'module',
  ])
    ->fields([
    'fid',
    'type',
    'id',
    'module',
    'count' => new UpsertUpdateExpression("{{$this->tableName}}.[count] + :count", [
      ':count' => $count,
    ]),
  ])
    ->values([
    'fid' => $file->id(),
    'type' => $type,
    'id' => $id,
    'module' => $module,
    'count' => $count,
  ])
    ->execute();
  parent::add($file, $module, $type, $id, $count);
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.