Разница между моделью ресурса и моделью в magento

В чем разница между этими двумя синтаксисами?

1) Mage::getModel('catalog/product')->load('1');

2) Mage::getResourceModel('catalog/product')

0

Решение

Mage :: getModel ()

Mage :: getModel () будет создавать новый экземпляр объекта каждый раз, когда такой объект существует в конфигурации.

пример

$product1 = Mage::getModel('catalog/product');
$product2 = Mage::getModel('catalog/product');

$ product1 и $ product2 оба имеют разное мгновение одного и того же объекта и также занимают разную память

Mage :: getResourceModel ()

Насколько я знаю, все коллекции в Magento являются моделями ресурсов. Они созданы

Mage::getResourceModel()

или же

Mage::getModel()->getCollection()

Неважно, какую функцию вы используете; последний просто называет первый. Команда Magento просто решила сделать коллекции частью ресурса, возможно потому, что коллекции должны часто запрашивать базу данных. Обычно вам не нужно будет звонить Mage::getResourceModel() для чего-то еще, кроме коллекций.

Смотрите ссылку ниже.
http://alanstorm.com/magento_models_orm

1

Другие решения

модели : Модели, где ваша основная бизнес-логика должна обрабатываться и является единичным экземпляром объекта. Модель будет использовать модель ресурсов для связи с базой данных и получения / установки данных для нее в save () и load ().

Модель ресурсов : Модель ресурсов — это место, где происходит ваш главный C.R.U.D (создание, чтение, обновление и удаление). Модель ресурсов не должна содержать бизнес-логику, однако она будет взаимодействовать с адаптерами и в основном взаимодействовать с базой данных.

1

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector