0

モジュールを含むデータベースを処理する2番目のモデルのロードで問題が発生しました。データベースと通信できないように拡張
された1つのコントローラーValidateControllerと2つのモデルを取得しました。これは、データベースと通信します。MainMage_Core_Controller_Front_ActionLog

電話をかける$log = Mage::getModel('modulex/log');と、withの正しいパスが表示されますget_class($log)が、電話をかける$log->load($params['id']);と失敗し、次のエラーが発生します。

Warning: include(Companyx/Modulex/Model/Resource/Main.php) [function.include]: failed to open stream: No such file or directory

なぜこのエラーが発生するのかわかりませんResource/Log.php。存在するものを呼び出す必要があります。

config.xmlを表示します

<frontend>
    <routers>
        <modulex>
            <use>standard</use>
            <args>
                <module>Companyx_Modulex</module>
                <frontName>modulex</frontName>
            </args>
        </modulex>
    </routers>
</frontend>
<global>
    <models>
        <modulex>
            <class>Companyx_Modulex_Model</class>
            <resourceModel>modulex_resource</resourceModel>
        </modulex>
        <modulex_resource>
            <class>Companyx_Modulex_Model_Resource</class>
            <entities>
                    <log>
                            <table>companyx_modulex_logs</table>
                    </log>
            </entities>
        </modulex_resource>
    </models>
</global>

ご協力ありがとうございました !

====ソリューションの編集====このコードで
作成/resource/Main.php

class Companyx_Modulex_Model_Resource_Main extends Mage_Core_Model_Resource_Db_Abstract
{
    protected function _construct()
    {
        $this->_init('modulex/log', 'id');
    }
}

私の間違いはやってい$this->_init('modulex/main', 'id');た。

4

1 に答える 1

0

あなたが受け取っているエラーメッセージはかなり明確で、リソースモデルが見つかりません. Magento はモデルを本質的に 2 層システムに分割します。1 つの層はビジネス ロジックを処理し、もう 1 つの層は永続性/データベースの相互作用を処理します。モデルで load を呼び出すと、これはクラスに指定されたリソース モデルにプロキシされます。あなたの構成では、このリソースは としてセットアップされてCompanyx_Modulex_Model_Resource_Main.phpいますが、クラスが定義されているはずの場所にファイルがないようです - app/code/{codepool}/Companyx/Modulex/Model/Resource/Main.php

于 2012-10-05T14:12:29.073 に答える