6
コレクションのgetSize()とcount()の違い
どちらも同じだと何度も聞いたことがあります。しかし、奇妙な問題に直面しています。CatalogSearchモジュールの製品コレクションでは、count()が正しい製品数を返しているのに対し、getSize()はゼロを返しています。 だから、基本的にこれは私が得ているものです: $collection->count(); //correct count $collection->getSize(); //0 ただし、検索ページにページネーションと製品を表示するかどうかを決定する際に、getSize()に正しいカウントが必要です。より具体的にするために、コレクションでのみ内部結合、左結合、およびWHERE条件を使用しています。 この奇妙な問題が発生する理由はありますか? ありがとう 更新: 前の質問、Magentoでコレクションを複製する方法は?1つのコレクションで2つの異なる操作を実行したかった。最初のコレクションは正しいgetSize()を示していますが、getSize()がゼロの場合、WHERE句を削除して新しいWHERE条件を指定しました。この後、私は期待していた正しい生SQLを取得し、MySQLで実行すると正しいレコードセットも提供しますが、コレクションのgetSize()のみがゼロカウントを提供します。 そのため、getSize()が古いカウントを取得しているため、基本的にコレクションを再ロードする必要があります。理にかなっていますか?