这里或多或少是我正在处理的代码:
class My_Model extends Mage_Core_Model_Cache
{
const CACHE_TAG = 'MYCACHE';
const TYPE_INDEX = 'my_index';
const COMPRESSION_PREFIX = 'CMP';
const STATS_MODE = false;
public function __construct(array $options = array())
{
$configOptions = Mage::app()->getConfig()->getNode('global/mycache/options');
$config = Mage::getModel('mymodel/cache')->getConfig(); // return false
if ($configOptions) {
$configOptions = $configOptions->asArray();
} else {
$configOptions = array();
}
$options = array_merge($configOptions, $options);
parent::__construct($options);
}
public function saveCache($data, $tags, $lifetime)
{
$config = Mage::getModel('mymodel/cache')->getConfig(); // return object
...
}
}
所以我无法在构造函数中获取我的模型,它返回false。
但我能够进入saveCache
方法。
为什么我不能在构造函数中获取我的模型?我在我的模型中尝试过make static方法,并尝试在构造函数中直接调用它返回false,但如果我在saveCache
方法中调用它,则会成功。