Chris@17: database = $database; Chris@17: } Chris@17: Chris@17: /** Chris@18: * {@inheritdoc} Chris@17: */ Chris@17: public function addUsage($block_content_id, EntityInterface $entity) { Chris@17: $this->database->merge('inline_block_usage') Chris@17: ->keys([ Chris@17: 'block_content_id' => $block_content_id, Chris@17: 'layout_entity_id' => $entity->id(), Chris@17: 'layout_entity_type' => $entity->getEntityTypeId(), Chris@17: ])->execute(); Chris@17: } Chris@17: Chris@17: /** Chris@18: * {@inheritdoc} Chris@17: */ Chris@17: public function getUnused($limit = 100) { Chris@17: $query = $this->database->select('inline_block_usage', 't'); Chris@17: $query->fields('t', ['block_content_id']); Chris@17: $query->isNull('layout_entity_id'); Chris@17: $query->isNull('layout_entity_type'); Chris@17: return $query->range(0, $limit)->execute()->fetchCol(); Chris@17: } Chris@17: Chris@17: /** Chris@18: * {@inheritdoc} Chris@17: */ Chris@17: public function removeByLayoutEntity(EntityInterface $entity) { Chris@17: $query = $this->database->update('inline_block_usage') Chris@17: ->fields([ Chris@17: 'layout_entity_type' => NULL, Chris@17: 'layout_entity_id' => NULL, Chris@17: ]); Chris@17: $query->condition('layout_entity_type', $entity->getEntityTypeId()); Chris@17: $query->condition('layout_entity_id', $entity->id()); Chris@17: $query->execute(); Chris@17: } Chris@17: Chris@17: /** Chris@18: * {@inheritdoc} Chris@17: */ Chris@17: public function deleteUsage(array $block_content_ids) { Chris@17: if (!empty($block_content_ids)) { Chris@17: $query = $this->database->delete('inline_block_usage')->condition('block_content_id', $block_content_ids, 'IN'); Chris@17: $query->execute(); Chris@17: } Chris@17: } Chris@17: Chris@17: /** Chris@18: * {@inheritdoc} Chris@17: */ Chris@17: public function getUsage($block_content_id) { Chris@17: $query = $this->database->select('inline_block_usage'); Chris@17: $query->condition('block_content_id', $block_content_id); Chris@17: $query->fields('inline_block_usage', ['layout_entity_id', 'layout_entity_type']); Chris@17: $query->range(0, 1); Chris@17: return $query->execute()->fetchObject(); Chris@17: } Chris@17: Chris@17: }