آفلاین
user-avatar

رابطه های بین جداول یکم پیچیده تر

3 سال پیش
توسط developer آپدیت شد
آفلاین
user-avatar
سید حسین رضوی ( 80426 تجربه )
3 سال پیش
تخصص : برنامه نویس وب و طراح رابط کاربری

سلام ببخشید من تازه لاراول رو شروع کردم بیزحمت یکم مقدماتی تر توضیح بدید
خوب اول پروژمو تشریح کنم بعد مشکلاتشو میگم
من یه پروژه سوپر مارک دارم که قراره به این صورت کار کنه: سه کاربر داریم، ادمین، فروشنده، کاربر معمولی
ادمین میاد کالاها رو ثبت میکنه و اطلاعات هر کالا رو مینویسه مثلا 100 کالا، فروشنده ها از توی پنلشون از بین این صدکالا کالاهایی که موجود دارند رو انتخاب میکنن مثلا 5 موردشو خوب قطعا ممکنه چند فروشنده چند کالا شبیه به هم داشته باشند، مثلا 5 فروشنده داریم هر 5 نفر کالای نوشابه رو انتخاب میکنند و هرکدوم موقع انتخاب محصول قیمتشو درج میکنند یعنی هر کالا برای هر فروشنده قیمت متفاوتی داره در صفحه ایندکس سایت فقط کالایی نمایش داده میشه که فروشنده ای اونو انتخاب کرده باشه و در صفحه تکمیل سبد خرید خریدار زمانی که داره سبدو تکمیل میکنه همونجا فروشگاهی که می خواد محصولات از اونجا براش ارسال بشه رو انتخاب میکنه و قیمت ها همونجا به کاربر نمایش داده میشه اگه محصولی رو انتخاب کرده باشه که اون خریدار جزع محصولاتش نباشه بهش پیغام میده (اگه بشه میخوام طوری باشه محصولی که اون خریدار نداشته باشه رو رندوم به یک فروشنده دیگه وصل کنه بدونه اینکه کاربر متوجه بشه، یعنی اگه 4 محصول انتخاب کرد و گفت از فروشگاه شماره یک می خوام و اون فروشگاه سه محصول داشت اون محصول دیگه رو رندوم بره از یک فروشگاه دیگه انتخاب کنه و در پنل فروشنده ها برای هرکدوم سفارششونو درج کنه) ، خوب حالا ادمینی که داره کالا ثبت میکنه توی سیستم چند دسته بندی انتخاب میکنه یکی همون کتگوری های مرسوم و یکی هم برند.
حالا سوال من اینه چطور این رابطه های محصول رو درست کنم

+-------+------------+---------------------+------------------+--------------------+----------+
| ردیف | ----نام---- | --------کتگوری ----| ---برند--- | ------توضیحات------- | خلاصه |
+--------+-----------+----------------------+-----------+--------------------------+----------+
| ---1 ---| نوشابه1 | "نوشیدنی" "خنک" | کوکا کولا | توضیحات کلی از کالا | نوشابه |
| ---2 ---| نوشابه2 | "نوشیدنی" "خنک" | کوکا کولا | توضیحات کلی از کالا | نوشابه |
+--------+-----------+-----------------------+-----------+--------------------------+---------+

و اینکه چطوری اون اتفاقاتی که گفتم در زمان تکمیل سبد میوفته رو بتونم انجام بدم؟؟؟؟

آفلاین
user-avatar
developer ( 35352 تجربه )
3 سال پیش
تخصص : برنامه نویس

خب اولا باید چند تا جدول بزنی، کاربران با یه نوع type ادمین و فروشنده و خریدار، بعد جدول محصولات، بعد رابطه many to many بین فروشنده و محصول، بعد اینا رو لیست کنی و کاربر محصول رو انتخاب کنه، بعد لیست فروشنده هایی که رابطه دارن با محصول رو لیست میکنی بعد فروشنده رو یا خود خریدار انتخاب میکنه یا خود سیستم، اگه خریدار یکی رو زد و مثلا فقط از چهار محصول سه تا رو داشت میری توی فروشنده ها سرچ میزنی اونی که با اون محصول دیگه رابطه داره رو پیدا میکنی و اگر هم زیاد بودن یکی رو رندوم برمیداری یا حتی میتونی شرط بذاری فاصله مکانی اش کمترین حالت با خریدار باشه
جدول های فرعی مثل کتگوری و ... هم بزن

آفلاین
user-avatar
سید حسین رضوی ( 80426 تجربه )
3 سال پیش
تخصص : برنامه نویس وب و طراح رابط کاربری

@alirezasafdari
مرسی از پاسخت و ممنون آخه مشکل اینه که این رابطه ها رو دقیق متوجه نمیشم یعنی اینکه چی میشه که این میفهمه که این باید باون جدول رابطه داشته باشه من یه خط کد توی مدلم مینویسم بعد اون همه کارا رو انجام میده چون اینو نمیفهمم که چطوری رابطه رو برقرار میکنه نمی تونم باهاش کار کنم

آفلاین
user-avatar
developer ( 35352 تجربه )
3 سال پیش
تخصص : برنامه نویس

@hossein.r.1442
خب روابط شما اینجا یا many to many هست که باید توی دیتابیس واسه هرکدوم یک جدول primary درست کنی تا این روابط اونجا ذخیره بشه، یا اینکه روابط one to many هست که توی جدول یک فیلد مثلا user_id میذاری که سیستم بفهمه باید رابطه داشته باشه

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

برای ارسال پاسخ باید وارد سایت شوید