1

私は Symfony 2 を使用しています。これまでに 2 つのバンドルがあります。最初のバンドルは UserBundle と呼ばれ、FosUserBundle を使用してビルドされます。2 番目のバンドルは GeoBundle と呼ばれ、フランスと呼ばれるエンティティが 1 つ含まれており、そのテーブルには約 40.000 レコードが含まれています。各レコードは、郵便番号、地域コードなどの都市を参照します。基本的に、ユーザー登録フォームでこのエンティティを使用して、ユーザーがリストから適切な都市を選択できるようにします。ところで、私はエンティティ フィールド タイプを使用してそれを行います。

私の問題は、テーブル内のほんの数レコードですべてが正常に機能していることですが、ほぼ 40.000 レコードでは、フォームがあるページが開かないことです。php.ini のメモリを 256M 以上に拡張しましたが、まだページが開きません。

だから私の質問は簡単です。選択フィールドに多くのレコードを入力するための最良の解決策は何ですか? もちろん、私は他のソリューションにもオープンです。前もって感謝します。乾杯。マルク

4

3 に答える 3

2

おそらく、オートコンプリート フィールドを使用するのが最適です。Google で多くのソリューションを見つけることができます。またはhttps://github.com/shtumi/ShtumiUsefulBundleのようなバンドルを試してください

于 2013-01-15T16:17:20.090 に答える
1

この Symfony2 バンドルを使用してみてください。

https://github.com/genemu/GenemuFormBundle/blob/master/Resources/doc/jquery/autocomplete/text.md

これは Symfony2 では非常に便利です。時間を節約し、他の拡張機能を確認できます

于 2013-01-16T07:40:27.880 に答える
1

完全なリストをロードしないでください。サーバー、帯域幅、およびクライアントが必要とするメモリに悪影響を及ぼします (モバイル ブラウザの場合は忘れてください!)。

jQuery UI Autocompleteを使用することをお勧めします。これは、サーバーから Ajax を介して必要な要素をロードできる jQuery プラグインであるため、穴をロードする必要はありません。また、十分にテストされており、実装も簡単です。

http://jqueryui.com/autocomplete/#remote-jsonp

于 2013-01-15T16:18:51.120 に答える