2011-08-02 1 views
2

DBからmagento fetchallの出力である配列オブジェクトを持っています。これをCollectionsクラスのオブジェクトに変換して、ページネーションを実装してこのコレクションを使用できるようにします他のテーブルと結合する。ここで私を助けてくれますか?今や長い間固まってしまった!!Magentoのコレクションに配列を変換する

答えて

4

Magentoにはコンバーターが内蔵されていませんが、コレクションを使用してクエリを記述したり、配列のすべてのIDに基づいてコレクションを読み込んだりすることができます。

+0

最も近い回答! – Baaju

+0

Magento Enterprise 1.12には、配列をコレクションに変換できるメソッドがあります。参照してください:Mage_Eav_Model_Entity_Collection_Abstract :: importFromArray –

3

また、addItemメソッドを使用してコレクションを設定することもできます。

+0

あなたはこれを詳しく説明できますか?だから私は配列を持って、私はコレクションをインスタンス化し、コレクションオブジェクトのadditemメソッドを使用して、配列の各項目をコレクションに追加できますか? – Baaju

+2

はい、(おそらく)あなたの配列をループし、コレクションに追加する各項目に対して '$ collection-> addItem($ item)'を呼び出す必要があります。 – Nick

+0

@Nick:どのクラスオブジェクトがこの '$ collection'ですか? [tag:magento] -1.8には –

-1

あなたがIDS $product_idsの配列を持っている場合は、あなたが使用することができます。

$collection = Mage::getModel('catalog/product')->getCollection() 
     ->addIdFilter($product_ids); 
9

コレクションオブジェクトに配列を変換するために:
1> Varien_Db_Collection

$collection = new Varien_Db_Collection(); 
のインスタンスを作成します。

2> Varien_Objectのインスタンスを作成し、配列データを設定する

$rowObj = new Varien_Object(); 
$rowObj->setData($row); 

3>は最後に今$コレクションは、コレクションオブジェクトである>コレクションインスタンス

$collection->addItem($rowObj); 

4にVarien_Objectを追加します。

+1

があります。クラス 'Varien_Db_Collection'はありません。このエラーが発生します。 '致命的なエラー:クラス' Varien_Db_Collection 'が見つかりません。' –

+3

'Varien_Db_Collection'の代わりに 'Varien_Data_Collection_Db'を使用してください。 – aforankur

+0

私は 'Varien_Data_Collection_Db'で奇妙なエラーが発生しましたが、この答えでは' Varien_Data_Collection'は投稿されたコードで正常に動作します –

関連する問題