Magento使用模型来存储/传输数据

时间:2011-09-21 17:46:13

标签: magento model

假设我在magento中创建了一个表对象 -

$model = Magento::getModel('table1')
$model->getCollection()->getFirstItem->setname('newname');

但我不保存它。我现在不想将它存储在db中。

现在我做

$model2 = Mage::getSingleton('table1')  
# It should return same table object.
$name = $model->getCollection()->getFirstItem->getname();

我没有得到$ name作为newname,上面的行触发一个sql并从DB中获取名称,逻辑上如果我从singleton获取相同的对象,那么我应该能够将$ name值作为newname检索。

1 个答案:

答案 0 :(得分:4)

您的模型的第一个请求使用getModel。这将检索实例模型。

模型用户getSingleton的第二个请求。这实例化一个实例模型并将其注册为单例。从现在开始,对getSingletongetModel的未来请求将返回相同的对象。但是,在将模型注册为单例之前使用getModel实例化的模型将保持其实例状态。

“按设计工作”