eMBi
6 سال پیش توسط eMBi مطرح شد
2 پاسخ

استفاده از جدول واسط در لاراول

سلام

پایگاه داده من به این صورت طراحی شده که یک جدول برای تگ ها دارم، و دو جدول برای مقالات و اخبار

همه ی تگ هاتوی جدول tags ذخیره میشه و دو جدول با نام های news_tags و article_tags دارم که فیلد هاشون به این صورت هست :

article_tags{article_id, tag_id}
news_tags{news_id, tag_id}

حالا چطور میتونم کد مربوط به ریلیشن رو بنویسم که تگهای یک خبر یا مقاله رو دریافت کنم ؟
ممنونم


ثبت پرسش جدید
علی اسماعیلی
تخصص : php Laravel
@aliesmaili.code 6 سال پیش آپدیت شد
0

@bahadori.embi

سلام اولا اسم تیبل دوم رو به صورت مفرد بزارید article_tag

(https://laravel.com/docs/5.8/eloquent-relationships#many-to-many)

این لینک رو مطاله کنید متوجه میشید


علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 6 سال پیش مطرح شد
0

@bahadori.embi
شما ۲ تا پیوِت‌ تیبل دارید٬ در صورتی که میتوانید از یک جدول برای هر ۲ نوع تگ ها هم استفاده کنید.
اما به هر حال:

return $this->belongsToMany('Model', 1, 2, 3);

توجه داشته باشید گزینه های ۱ تا ۳ آپشنال هستند
1: نام pivot table یا جدول ارتباطی : "article_tag" (برای مواقعی که اسم جدول شما بجای حالت مفرد اسم جدول‌ها٬ چیز دیگه‌ای باشه مثلا: "my_Article_tags")
2: نام فیلد id در جدول article (برای مواقعی که شما مثلا از article_identifier بجای id استفاده کردید)
3: نام فیلد id در جدول tags (برای مواقعی که شما مثلا از tag_identifier بجای id استفاده کردید)


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

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