public function AutosaveEntityFormDatabaseStorage::getEntity in Autosave Form 8
Retrieves the stored entity.
Parameters
$form_id: The form id.
string $entity_type_id: The entity type id of the entity.
mixed $entity_id: The id of the entity.
string $langcode: The language code of the original entity.
$uid: The user id.
$form_session_id: (optional) The form session id.
$timestamp: (optional) The timestamp for which to load the entity.
Return value
\Drupal\Core\Entity\EntityInterface The entity.
Overrides AutosaveEntityFormStorageInterface::getEntity
File
- src/
Storage/ AutosaveEntityFormDatabaseStorage.php, line 125
Class
- AutosaveEntityFormDatabaseStorage
- A database backend for autosave of entity forms.
Namespace
Drupal\autosave_form\StorageCode
public function getEntity($form_id, $entity_type_id, $entity_id, $langcode, $uid, $form_session_id = NULL, $autosaved_timestamp = NULL) {
$entity = NULL;
$query = $this->connection
->select(static::AUTOSAVE_ENTITY_FORM_TABLE, 'cefa')
->fields('cefa', [
'entity',
])
->orderBy('timestamp', 'DESC')
->condition('form_id', $form_id);
if (isset($form_session_id)) {
$query
->condition('form_session_id', $form_session_id);
}
$query
->condition('entity_type_id', $entity_type_id)
->condition('entity_id', $entity_id)
->condition('langcode', $langcode)
->condition('uid', $uid);
if (isset($autosaved_timestamp)) {
$query
->condition('timestamp', $autosaved_timestamp);
}
$data = $query
->execute()
->fetchAssoc();
if ($data) {
// Prepare the entity object.
$entity = $this->serializer
->decode($data['entity']);
}
return $entity;
}