加载属性值而不加载整个实体

发布于 2024-10-15 02:38:50 字数 326 浏览 3 评论 0原文

因此,我正在编写一个功能,其中我获取类别的父类别 id,并希望获取 Magento 中其中一个父类别的 url_key。我想在不加载类别的情况下执行此操作,并找到了此方法getAttributeRawValue,可以在此处找到/app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4 /Abstract.php。基本上,似乎没有必要加载整个实体,然后只获取与该实体 ID 关联的属性值。

它为我提供了我需要的东西,但我想知道它是否比加载类别和获取属性要好得多。加载类别本质上是做同样的事情,但对每个属性都做同样的事情吗?

So I was writing a piece of functionality where I was getting the parent category ids of a category and wanted to get the url_key of one of the parents in Magento. I wanted to do this without having to load the category and found this method getAttributeRawValue, which can be found here /app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Abstract.php. Basically it seems unnecessary to load a whole entity then to just get the attribute value associated to that entity id.

It gets me what I need, but I am wondering if it is all that much better then loading the category and getting the attribute. Is loading the category essentially doing the same thing but doing it for every attribute?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

仅冇旳回忆 2024-10-22 02:38:50

我的第一个想法是使用内置的 Varien Profiler 对其进行定量测试。这是一个非常有用的技巧,但没有得到充分利用。

基本上,您需要在管理中打开分析(系统>配置>高级>开发人员>调试>分析器),然后在要分析的代码的两侧插入带有唯一字符串的启动/停止指令。例如,

Varien_Profiler::start('__CATEGORY_URL_KEY_RETURN__');
....
your code here
....
Varien_Profiler::stop('__CATEGORY_URL_KEY_RETURN__');

在浏览器中加载该页面,您将在底部看到分析器输出。

享受!

My first thought would be to use the inbuilt Varien Profiler to test it quantitatively. It's an underutilized by very useful trick.

Basically, you need to turn on Profiling in the Admin (System>Config>Advanced>Developer>Debug>Profiler) and then insert the start/stop instructions with a unique string either side of the code that you want to profile. e.g.

Varien_Profiler::start('__CATEGORY_URL_KEY_RETURN__');
....
your code here
....
Varien_Profiler::stop('__CATEGORY_URL_KEY_RETURN__');

Load the page in your browser and you will see the Profiler output at the base.

Enjoy!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文