2012-01-28 5 views
2

同じスクリプトをOpencartの同じバージョンで実行しています。返された配列インデックスは、行数の代わりにレコードIDを使用します

通常、この行はすべての製品の配列を返し:

$data = $this->model_catalog_product->getProducts(); 

および

nはゼロからインデックス付けされる。ここでproduct.php含有getProucts()関数です。

この場合(別のサーバー)、単一の値を持つ配列を返します。最後のレコードのみです。 は不思議、131のレコードの合計がテーブルに存在し、最後のレコードのIDが191で、返される配列は次のとおりです。

Array 
(
[191] => Array 
    (
     [product_id] => 191 
     [model] => Product 15 
     [sku] => 
     [upc] => 
     ... 
    ) 
) 

誰もが何が起こっているのか知っていますか?

+0

回答があなたの問題を解決した場合は、回答の横にあるチェックマークをクリックして受け入れてください。ありがとうございました。 – cspray

答えて

3

したがって、プロジェクトではCodeIgniterフレームワークが使用されており、キャッシングライブラリ(たとえば418行目を参照)が使用されています。

データベースの代わりにキャッシュから結果が得られる可能性があります。構成の一時的なキャッシュを無効にします。結果が満足すれば、ドライバのキャッシュが使用する内容に応じてキャッシュをクリーニングする必要があります。

+0

ありがとうございました!私はこれについて夢中になっていた! $ this-> cache-> delete(product)を追加しました。クエリの前に、期待どおりに動作します。本当に助けていただきありがとうございます! –

関連する問題