function NodeGrantDatabaseStorage::buildGrantsQueryCondition
Creates a query condition from an array of node access grants.
Parameters
array $node_access_grants: An array of grants, as returned by node_access_grants().
Return value
\Drupal\Core\Database\Query\Condition A condition object to be passed to $query->condition().
See also
3 calls to NodeGrantDatabaseStorage::buildGrantsQueryCondition()
- NodeGrantDatabaseStorage::access in core/modules/ node/ src/ NodeGrantDatabaseStorage.php 
- Determines access to nodes based on node grants.
- NodeGrantDatabaseStorage::alterQuery in core/modules/ node/ src/ NodeGrantDatabaseStorage.php 
- Alters a query when node access is required.
- NodeGrantDatabaseStorage::checkAll in core/modules/ node/ src/ NodeGrantDatabaseStorage.php 
- Checks all grants for a given account.
File
- 
              core/modules/ node/ src/ NodeGrantDatabaseStorage.php, line 296 
Class
- NodeGrantDatabaseStorage
- Defines a storage handler class that handles the node grants system.
Namespace
Drupal\nodeCode
protected function buildGrantsQueryCondition(array $node_access_grants) {
  $grants = $this->database
    ->condition('OR');
  foreach ($node_access_grants as $realm => $gids) {
    if (!empty($gids)) {
      $and = $this->database
        ->condition('AND');
      $grants->condition($and->condition('gid', $gids, 'IN')
        ->condition('realm', $realm));
    }
  }
  return $grants;
}Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.
