Magento использует модели для хранения / передачи данных - PullRequest
0 голосов
/ 21 сентября 2011

Допустим, я создал табличный объект в magento -

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

Но я не спасаю его. Я не хочу хранить его в БД.

Теперь я делаю

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

Я не получаю $ name в качестве newname, выше строка запускает sql и получает имя из DB, логически, если я получаю тот же объект из singleton, тогда я смогу получить значение $ name как newname.

1 Ответ

4 голосов
/ 21 сентября 2011

Первый запрос для вашей модели использует getModel.Это извлекает модель экземпляра.

Второй запрос для пользователей вашей модели getSingleton.Это создает экземпляр модели и регистрирует ее как одноэлементную.С этого момента будущие запросы к getSingleton или getModel будут возвращать тот же объект.Тем не менее, модели, созданные с getModel до регистрации модели в качестве одиночного, сохранят свое состояние экземпляра.

«Работает как задумано»

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...