麦进斗:Magento免费建站:Magento2的load方法VS getCollection方法

让我们假设我们有数据库中的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/

转载于:https://my.oschina.net/u/2985655/blog/777551

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值