2017-04-20 13 views
0

私は、製品のSKUを含むフラットテーブルを備えたカスタムモジュールで作業しています。私はグリッドスキューとカタログ/製品から取られた名前と自分のテーブルで撮影した他の情報で表示したいと思います。 Grid.phpで 私が持っている:2つのテーブルを結合し、結果をグリッドマゼンタ1.9.xに入れよう

カタログ/製品から製品名を取り、私のテーブルの追加情報とそれをマージするにはどうすればよい
protected function _prepareCollection() 
     { 
      $collection = Mage::getModel('hf/hfdistr')->getCollection(); 

      $this->setCollection($collection); 

      return parent::_prepareCollection(); 
     } 

?どんな助けもありがたい。 (Magentoの1.9.3.2)

答えて

0

あなたはテストされていないこの

$products = Mage::getSingleton('core/resource')->getTableName('catalog/product'); 
$collection = Mage::getModel('custom/model')->getCollection(); 
$collection->getSelect()->join(array('cp'=> $products), 'cp.sku = main_table.sku', array('cp.sku','cp.other_attribute_other','cp.other_attribute_to_select')); 

How to join collections in Magento? ようにそれらに参加することができます! :D

+0

ありがとうございましたが、私はそれを機能させることができませんでした。特に私はカタログ/製品から製品名を得ることができません...これについて私を助けてくれますか?私はskuと製品名をカタログ/製品から取り出して、テーブルから取り出した製品skuと一致させてから、テーブルに追加してa、b、cの詳細をグリッドで表示したいと考えています – armywil

+0

それ? –

+0

これは私の関数です: 保護された関数_prepareCollection() { $ products = Mage :: getSingleton( 'core/resource') - > getTableName( 'catalog/product'); $ collection = Mage :: getModel( 'hf/hfdistr') - > getCollection();配列( 'cp.sku'、 'cp.name'));$ collection-> getSelect() - > join(array( 'cp' => $ products)、 'cp.sku = main_table.sku' $ this-> setCollection($ collection); return parent :: _ prepareCollection(); } cp.skuは期待通りに動作しますが、cp.nameを追加すると例外が表示されます(列名が見つかりません)...ありがとうございます... – armywil

関連する問題