0

我一直在尝试理解 Magento,并且在 wiki 上阅读了很多东西,但我无法弄清楚 Magento 如何与数据库表一起工作?因为我没有看到任何 SQL

4

3 回答 3

1

我建议阅读 Alan Storm 的这篇博文:http: //alanstorm.com/magento_models_orm

他对 Magento ORM 系统做了相当多的解释,在我看来,整个网站对于任何 Magneto 开发人员来说都是一个很好的资源。

于 2013-02-21T23:12:03.017 回答
0

知识库开始阅读第 5 章。

你并不是真的在问一个问题,所以没有人可以帮助具体问题,我总是发现你通过实践学习得最好,我发现搞乱magento的最好方法是使用以下内容创建一个test.php文件shell/:(例如)

<?php
require('abstract.php');

class Test extends Mage_Shell_Abstract
{
    function run(){ //call your functions here
        echo 'running ..';
        $this->database();
    }

    function database() { //you can create as many functions as you like
        $entityId = '4449'; //product id

        $product=Mage::getModel("catalog/product")->load($entityId);
        var_dump($product->getAttributeText('size'));
    }
}

$test = new Test();
$test -> run();

然后你可以从控制台运行: php test.php

它在我的例子中返回 running ..string(11) "Extra Large"

希望对你有帮助,下次再具体点。

于 2012-11-02T13:36:25.823 回答
0

如果您查看您的 MySQl 日志,magento 进行的调用有时可能长达 500 行或更长......这些调用是使用 XML 文件动态构建的。手动操作 Magento 数据的最佳方法是使用MAGE::调用或使用直接数据库连接,方法是:

$read = $resource->getConnection('core_read');
$sql = "select * from [YOUR_TABLE] where 1 limit 1";
$result = $read->query($sql);

要么是这样,要么是这样的调用:

$value = 'some value';
$item->setData('some_key', $value);
$item->save();

Magento 是面向对象的,因此这些是在 Magento 中检索/设置数据的最普遍接受和使用的方法。我希望这会有所帮助。

于 2012-11-08T01:02:25.230 回答