カスタムモジュールを作成しました。失敗している呼び出しは次のとおりです。
$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 は適切に設定されたコレクションに対してのみ機能するはずです。
これはマジェントにあります。ご協力いただきありがとうございます!