public static function fieldInvert($fieldId) { $table = TikiDb::get()->table('tiki_tracker_item_fields'); $cache = new self(); $cache->setInit(function ($count) use($table, $fieldId) { return $table->fetchMap('value', 'itemId', ['fieldId' => $fieldId], $count, 0); }); $cache->setLookup(function ($value) use($table, $fieldId) { return $table->fetchOne('itemId', ['fieldId' => $fieldId, 'value' => $value]); }); return $cache; }