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