$model_name->$field_name->$id)) { $model = ORM::factory($model_name)->where($field_name, $id)->find(); if (!$model->loaded) { throw new Exception("@todo MISSING_MODEL $model_name:$id"); } self::$cache->$model_name->$field_name->$id = $model; } return self::$cache->$model_name->$field_name->$id; } static function clear($model_name, $id, $field_name="id") { if (!empty(self::$cache->$model_name->$field_name->$id)) { unset(self::$cache->$model_name->$field_name->$id); } } static function set($model) { self::$cache->{$model->object_name} ->{$model->primary_key} ->{$model->{$model->primary_key}} = $model; } }