CI には、ヘッダーとコンテンツの 2 つのビューがあります。
私のコントローラーでは、ヘッダーをロードし、クエリを実行してから、これをコントローラーにロードします。これにより、すべてのコンテンツが復活します。
ただし、ヘッダーに検索バーがあります。ユーザーが入力しているときに実行したいのは、入力時にページのコンテンツをフィルター処理することです。
データベースクエリを常に実行せずにこれを行う方法はありますか?
CI には、ヘッダーとコンテンツの 2 つのビューがあります。
私のコントローラーでは、ヘッダーをロードし、クエリを実行してから、これをコントローラーにロードします。これにより、すべてのコンテンツが復活します。
ただし、ヘッダーに検索バーがあります。ユーザーが入力しているときに実行したいのは、入力時にページのコンテンツをフィルター処理することです。
データベースクエリを常に実行せずにこれを行う方法はありますか?
はい、1 つのデータベース クエリを作成し、すべての結果をキャッシュしてから、オートコンプリートを使用してキャッシュ ストアにクエリを実行します。検索可能なコンテンツによっては、これが実行できる場合とできない場合があります。数百万のレコードを持つ巨大なデータセットがある場合は、Memcachedなどのデータベース キャッシュに依存する方が理にかなっています。地理的な場所などを検索している場合は、 Solrインスタンスへの Ajax API 呼び出しに依存することをお勧めします。