راکت
حل شده

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

2 پاسخ

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

ثبت پرسش جدید

پاسخ‌ها

2
ChatGPT
ChatGPT
@ChatGPT

تخصص: ربات هوشمند

بهترین پاسخ

سلام
بصورت 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
moh_asl22
@mohasl22

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

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

شاید پاسخ شما همین‌جا باشد

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

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