۱ سیدعلی میرعربشاهی
راه حل مناسب برای ایجاد سلکت باکس برای کاربران میلیونی
جامعه لاراول ایجاد شده در ۲۶ آذر ۱۴۰۰

سلام وقت بخیر، وقتی که تعداد کاربران زیاد هست،مثلا تعداد کاربران میلیونی هست،باید سلکت باکس‌ها چطور تعریف شوند؟چون به نظرم زیاد جالب نیست که مثلا یک foreach زده بشه روی یک میلیون کاربر و یک میلیون option برای یک سلکت باکس ساخته بشه،برای این موضوع راه حلی هست؟

سلام دوست عزیز

راهکارهای متفاوتی رو میتونید برای هندل کردن موضوع استفاده کنید، مثلا:

  1. اگر از blade‌های لاراول استفاده می‌کنید و میخواین سلکت‌باکسی داشته باشین که تعداد زیادی رکورد داره، یکی از روش‌ها این هستش که شما در مرحله اول فقط تعداد اندک و مشخصی را لود کنید یا حتی قشنگ‌تر: 5 تا از پرکاربردترین‌ها به‌طور مستقیم لود کنید و برای دیگر موارد به محض اینکه کاربر کاراکترها رو درون سلکت‌باکس برای دیدن گزینه‌های دیگر وارد کرد، رکوئست بفرستین سمت کنترلر و دیتای مورد نظرش رو واکشی کنید و به کاربر نمایش بدین تا انتخاب کنه...
  2. 2. اگر فریم‌ورک‌هایی مثل: Vuejs یا... استفاده می‌کنید که خب کارتون تا حد زیادی راحت‌تره و می‌تونید با بهره‌گیری از کامپوننت‌های آماده ‌v-select یا v-select2‌ و ریسورس‌های api لاراول مورد شماره یک رو بهتر انجام بدین...
  3. زمانی‌ که میخواهید بین داده‌های زیادی جستجو کنید، بهتر است از موتورهای سرچ حرفه‌ای مثل tnt-search ، algolia و... استفاده کنید و مثلا کل مدل کاربران رو اصطلاحا Searchable کنید تا یک‌بار کل دیتاها ایندکس بشه و سپس بدون دردسر و بتونیم دیتای مورد نظر رو سرچ کنیم.
  • این موضوع رو هم درنظر داشته باشین که شما اگر سلکت‌باکسی که تعداد زیادی گزینه‌ انتخابی داره، عملا به تجربه کاربر لطمه بسیاری زدین و بهتره از راهکارهای هوشمندتری استفاده کنید و فقط برای سرچ به کاربر اجازه بدین بین داده‌های موجود رکورد مورد نظرش رو پیدا کنه
بهترین پاسخ
رضا * ۲۶ آذر ۱۴۰۰، ۱۳:۵۱