2

カスタムモジュールを作成しました。失敗している呼び出しは次のとおりです。

$collection = Mage::getModel('[modulename]/[model]')->getCollection(); 
$collection->addFieldToFilter('is_public', 1)->getSelect();
$collection = Mage::getModel('[modulename]/[model]')->getCollection()->getFirstItem();//

明らかに、私は自分のモデルで何かを台無しにしました。どうぞ:

モデル/[モデル].php

class [namespace]_[modulename]_Model_[model] extends Mage_Core_Model_Abstract {
     public function _construct() {
         parent::_construct();
         $this->_init('[modulename]/[model]');
     }   
}

モデル/Mysql4/[モデル].php

class [namespace]_[modulename]_Model_Mysql4_[model] extends Mage_Core_Model_Mysql4_Abstract        {
    public function _construct() {
       $this->_init('[modulename]/[model]', 'id');
     }   
 }

モデル/Mysql4/[モデル]/Collection.php

class [namespace]_[modulename]_Mysql4_[model]_Collection extends
Mage_Core_Model_Mysql4_Collection_Abstract {
       protected function _construct() {
          //parent::_construct();
          $this->_init('[modulename]/[model]');
       }   
}

コレクションは機能します。

$collection = Mage::getModel('[modulename]/[model]')->getCollection()->getData();

上記のコードは、テーブル内のすべての行を返します。別の関数を適用しようとするとすぐに失敗します。私が読んだことから、 addFieldToFilter は適切に設定されたコレクションに対してのみ機能するはずです。

これはマジェントにあります。ご協力いただきありがとうございます!

4

1 に答える 1