/** * @param \LeanMapper\Entity $entity * @return mixed|void */ protected function updateInDatabase(\LeanMapper\Entity $entity) { /** @var TranslatableEntity $entity */ $table = $this->getTable(); $primaryKey = $this->mapper->getPrimaryKey($table); $idField = $this->mapper->getEntityField($table, $primaryKey); $values = array_diff_key($entity->getModifiedRowData(), $entity->getTranslatableColumns()); if (!empty($values)) { $this->connection->query('UPDATE %n SET %a WHERE %n = ?', $this->getTable(), $values, $primaryKey, $entity->{$idField}); } $this->insertTranslation($entity->{$idField}, $entity); }