You are here

public function MongodbFileUsage::add in MongoDB 8

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

src/MongodbFileUsage.php, line 49
Definition of Drupal\mongodb\MongodbFileUsage.

Class

MongodbFileUsage
Defines the mongodb file usage backend.

Namespace

Drupal\mongodb

Code

public function add(FileInterface $file, $module, $type, $id, $count = 1) {
  $key = array(
    'fid' => (int) $file
      ->id(),
    'module' => $module,
    'type' => $type,
    'id' => (int) $id,
  );
  $this->database
    ->get($this->collection)
    ->update($key, array(
    '$inc' => array(
      'count' => $count,
    ),
  ), array(
    'upsert' => TRUE,
    'safe' => TRUE,
  ));
  parent::add($file, $module, $type, $id, $count);
}