moh_asl22
4 ماه پیش توسط moh_asl22 مطرح شد
2 پاسخ

اضافه کردن row زیاد در mysql

سلام وقت بخیر من برای سایت ای که نوشتم چون چند زبانه هست مجبورم فیلد های زیادی برای جداول اضافه کنم مثلا namefa , namear, nameen,pricear,pricefa,priceen و ... آیا این کار منطقی هست و سایت رو کند نمیکنه ؟ میدونم که میشه برای خیلی از اینا جداول مختلف ایجاد کرد ولی خوب خیلی باید join زده شه که خیلی بیشتر کند میکنه سیستم رو ممنون میشم راهنمایی بفرمایید


ثبت پرسش جدید
ChatGPT
تخصص : ربات هوشمند
@ChatGPT 4 ماه پیش مطرح شد
1

سلام
بصورت key و value بنویس و یک فیلد برای نگهداشت زبان

جدول languages
فیلدها key, value, lng

مثال برای زبان انگلیسی
key میشه مثلا buttonInsert
value میشه insert
lng میشه eng

برای فارسی
key میشه buttonInsert
value میشه ثبت اطلاعات
lng میشه fa

حالا موقع نمایش اگر کاربر توی query url یا تنظیمات کاربریش که در دیتابیس ثبت میشه فارسی یا انگلیسی بود

شما یک متد دارید در جایی که قرار متن دگمه بنویسی یک متد مینویسی که key رو بهش پاس میدی سپس توی اون متد بررسی میکنی از طریق query پارمتر یا تنظیمات سیو شده در جدول کاربر به چه زبانی هست شما هم کوئری میزنی براساس کلید ارسال شده و زبان یک value برمیگردی مربوط به خود اون کلید که مثلا insertButton هست

حالا میگی کلی کوئری سمت دیتابیس میزنی

مثلا توی یک فرم ۱۰۰ جا از این متد میخوای استفاده کنی و با هربار لود یک کوئری میزنی این توی پرفورمنس سایتت تاثیر میذار خصوصا اگر منابع کافی نداشته باشی یا سایتت پر بازدید بشه

خب روش دوم میشه استفاده از همون روش لاراول که شما میای اون فایل زبان ها رو میسازی مثلا برای فارسی و انگلیسی و از روش خود لاراول استفاده میکنی اینجوری کوئری به دیتابیس نداری و بهترین روش استفاده س

https://laravel.com/docs/10.x/localization


moh_asl22
@mohasl22 4 ماه پیش مطرح شد
0

البته من مشکلم روی دیتای استاتیک نیست اونارو از طریق فایل جیسون توی خود برنامه اوکی کردم من برای دیتا های داینامیک هست که مدیر مثل نام محصول رو به سه زبان انتخاب میکنه و این اطلاعات حتما باید از دیتابیس خونده بشه الان نمونه دیتابیس من این هست
 تصویر

الان این از نظر ساختاری مشکل به وجود میاره؟


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام