public function DatabaseFileUsageBackend::add in Drupal 10
Same name and namespace in other branches
- 8 core/modules/file/src/FileUsage/DatabaseFileUsageBackend.php \Drupal\file\FileUsage\DatabaseFileUsageBackend::add()
- 9 core/modules/file/src/FileUsage/DatabaseFileUsageBackend.php \Drupal\file\FileUsage\DatabaseFileUsageBackend::add()
Records that a module is using a file.
Examples:
- A module that associates files with nodes, so $type would be 'node' and $id would be the node's nid. Files for all revisions are stored within a single nid.
- The User module associates an image with a user, so $type would be 'user' and the $id would be the user's uid.
Parameters
\Drupal\file\FileInterface $file: A file entity.
string $module: The name of the module using the file.
string $type: The type of the object that contains the referenced file.
string $id: The unique ID of the object containing the referenced file.
int $count: (optional) The number of references to add to the object. Defaults to 1.
Overrides FileUsageBase::add
File
- core/
modules/ file/ src/ FileUsage/ DatabaseFileUsageBackend.php, line 48
Class
- DatabaseFileUsageBackend
- Defines the database file usage backend. This is the default Drupal backend.
Namespace
Drupal\file\FileUsageCode
public function add(FileInterface $file, $module, $type, $id, $count = 1) {
$this->connection
->merge($this->tableName)
->keys([
'fid' => $file
->id(),
'module' => $module,
'type' => $type,
'id' => $id,
])
->fields([
'count' => $count,
])
->expression('count', '[count] + :count', [
':count' => $count,
])
->execute();
parent::add($file, $module, $type, $id, $count);
}