0

Magento では、次のようにしてコレクションを取得できることを知っています。

Mage::getResourceModel('module/model_collection');

Mage::getModel('module/model)->getCollection();

これはすべて、コレクションに独自のカスタム名を提供できるという事実から来ています

例えば:Mage::getResourceModel('module/model_blahblahblah');

getCollection自動的にそれを見つけます。

私の質問は、「コレクション」の代わりに「blahblahblah」を実際に使用したいのはいつですか?

4

2 に答える 2

1

'通常の'リソースモデルとコレクションの違いは次のとおりです。

  • 「通常の」リソースモデル->から拡張されますMage_Core_Model_Resource_Db_Abstract(フラットタイプの場合、バージョン1.6.0.0 ++)。これは主に、データの取得やデータベースへのデータの保存など、データベースとの接続に使用されます
  • コレクション->から拡張Mage_Core_Model_Resource_Db_Collection_Abstract(フラットタイプの場合)。これは主に、データの「リスト」を取得するために使用されます。例:注文のリストを取得する

だからあなたの質問のために:あなたは実際に「コレクション」の代わりに「blahblahblah」をいつ使いたいですか?

その正確な答えはありません。collectionデータのリストを取得するために名前を使用する必要はありません。必要に応じて使用できblahblahblahますが、もちろん、規則(Magentoの方法)に固執することをお勧めします。

コレクションとして名前を付けると、「通常の」人々に、コレクションに関連していることがわかります(コレクションは通常、リストに関連しています。この場合、データ/オブジェクトなどのリストです)。彼らが見たらどうなるでしょう:Mage::getResourceModel('module/model_blahblahblah');多分blahblahblah他の人が理解するにはあまりにも奇妙です(名前はそれほど極端ではありませんがblahblahblah

于 2012-08-03T16:22:23.573 に答える
0


Namespace_Module_Model_Mysql4_Module_Collection
コレクションクラスを変更したい場合は、コレクションを取得するメソッドを
Namespace_Module_Model_Mysql4_Module_Blahblahblah
使用できます。Mage::getResourceModel('module/model_blahblahblah')それは役に立ちましたか?

于 2012-08-03T10:42:26.280 に答える