kojj
4 سال پیش توسط kojj مطرح شد
2 پاسخ

جدول واسط برای سه جدول

سلام دوستان وقتتون بخیر،من سه تا جدول دارم به نام های user,book و course که روابطشون به اینصورته که کاربر میتونه عضو دوره بشه و چند تا کتاب هم میتونه متعلق به دوره باشه که براشون روابط چند به چند تعریف کردم و جداول واسط book_course و course_user رو ایجاد کردم تا اینجا مشکلی نیست منتهی وقتی یه کاربر عضو یه دوره میشه میخوام کتابهای مربوط به اون دوره رو برای اون کاربر که عضوش شده رو تو یه بخش نشون بدم و براشون ترتیب خوندن قرار بدم به این صورت که تا وقتی کتاب اول خونده نشد کتاب دوم فعال نشه،الان سوال من اینه آیا باید برای اینکار یه جدول درست کنم که توش آی دی کاربر،دوره و کتاب رو قرار بدم همراه با فعال بودن یا نبودن کتاب؟عمل insert رو باید با Query Builder انجام بدم ؟یا راهی هست با Eloquent انجام بدم چون قواعد مربوط به روابط رعایت نمیشه و سه تا کلید خارجی دارم و هیچ مدلی هم برای اینکار ندارم؟


ثبت پرسش جدید
محمد امیری
تخصص : backend coder
@mohammadeng3731 4 سال پیش آپدیت شد
0

سلام.
اگه فیلد سومتون(خونده شده یا نشده) نبود با HasManyThrough کارتون راه افتاده بود.اما برای اینکار میتونید یک مدل ایجاد کنید و جدول مورد نظر رو بهش پاس بدید نیازی به استفاده از Query Builder نیست. برای پاس دادن جدول به مدل ایجاد شده پراپرتی table داخل مدل رو تعریف و برابر نام جدول بذارید. هر چند اینکار best practice نیست اما اکیه.


kojj
@kavehmojtaba 4 سال پیش مطرح شد
0

@mohammadeng3731
ممنون من فک میکردم مدل رو برای موجودیت درست میکنن که یکم تحقیق کردم دیدم اینجوری نیست و برای ارتباط با جدول درست میکنن
Eloquent provides an extra layer to interact with tables by creating a corresponding "model" which is used to interact with that table. Models allow you to query for data in your tables, as well as insert new records into the table. Once a model is made, all interactions with the table will be completed through the model.
همینکاری که گفتین رو باید انجام بدم


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

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