CDT  v4.2.0
инструменты разработчика

◆ get()

template<name::raw TableName, typename T , typename... Indices>
template<typename PK >
const T & eosio::multi_index< TableName, T, Indices >::get ( PK  primary,
const char *  error_msg = "unable to find key" 
) const
inline

Извлекает существующий объект из таблицы по первичному ключу.

Аргументы
primary— значение первичного ключа объекта
Возвращает
Константная ссылка на объект с указанным первичным ключом

Исключение — нет объекта с данным ключом

Пример:

// This assumes the code from the constructor example. Replace myaction() {...}
void myaction() {
// create reference to address_index - see emplace example
// add dan account to table - see emplace example
auto& user = addresses.get("dan"_n);
eosio::check(user.first_name == "Daniel", "Couldn't get him.");
}
}
EOSIO_DISPATCH( addressbook, (myaction) )

Предупреждение:

Избегайте присвоения возвращённой ссылки T& локальной переменной на стеке и передачи её в modify многоиндексной таблицы. Частая ошибка — объявить локальную переменную как auto без ссылки; нужно auto& или decltype(auto).

См. определение в файле multi_index.hpp строка 1788