私は管理者に在庫レポートを作成していますが、結合された列をフィルタリングできないように見えることを除いて、これまでのところすべての作業を行っています。結合された列をフィルタリングする
私は以下の情報を参考にして、私のコレクションを取り込みました。
$collection = Mage::getModel('catalog/product')->getCollection()
->addAttributeToSelect('name')
->addAttributeToSelect('sku')
->addAttributeToSelect('price')
->setStoreId($storeId);
$collection->addFieldToFilter('type_id', 'simple');
// Add on the stock qty information
$collection->getSelect()->join(array('stock'=>'ccmg_cataloginventory_stock_item'), 'e.entity_id = stock.item_id', array('stock.qty'));
これは表示されていますが、フィルタリングや並べ替えはできません。私はオプションが結合に戻されていないので、私は仮定します。ただし、他の列を並べ替えてフィルタリングし、一致するデータをプルバックして表示することができます。
私は検索していますが、ほとんどの投稿は2008年のMagentoフォーラムにあり、1.6を使用しています。すべてのポインタが素晴らしいだろう!参加した後
あなたの結果をソートするために使用し参加するともうこのプロジェクトに取り組んでいます。 –
それは動作しますが、Mage_Core_Model_Resource_Db_Collection_Abstractを拡張していないので、 '_map ['fields']'はプライベート/保護されていました。 addFilterToMapがトリックを行いました。 '$ collection-> addFilterToMap( 'ihe_name'、 'ihe.name');' –
'' 'addFieldToMap'''は実際には正しい方法です。 '' '$ this - > _ map ['fields']' ''は実際には '' '_map'''の配列を上書きするので、マップする列が複数あると面倒です。 – kiatng