让我们假设我们有数据库中的1个记录,ID为1
我们可以使用2个方法Load ID和getCollection获取记录。
$model = Mage::getModel('stackexchange/questions')
->getCollection()
->addFieldToFilter('id',1);
foreach($model as $mod) {
echo $mod->getName();
}
要么
$model = Mage::getModel('stackexchange/questions')
->getCollection()
->getFirstItem();
echo $model->getName();
我们可以使用load()获得单记录;
$model = Mage::getModel('stackexchange/questions')->load(1);
echo $model->getName();
这里是我的问题。哪种方法更快,更好用,为什么?
如果没有,那么这是访问数据的最快方法是什么?
取决于你所需要的。
如果你打算调用save
的对象(特别是如果它是一个EAV实体),你应该使用的一个load
。
如果你只需要显示一些数据,你应该使用的征收方式。
但要小心getFirstItem
。它完全加载集合。
如果你只需要一个单一的项目,你应该使用getFirstItem()
结合的限制->setPageSize(1)->setCurPage(1)
。
此外,还有某些情况下,你绝对需要使用load
。打电话时,一些事件分派load
(像afterLoad
)和加载集合时,别人都出动。
你可能有依赖这些事件的逻辑。
http://www.maijindou.com/