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

نام گذاری جدول میانی

سلام دوستان من ی جدول میانی بین users و courses ایجاد کردم.
و مشکلی که پیش اومده اینه که وقتی میخوام از این جدول استفاده کنم لاراول دنبال course_users میگرده و خطا میده،درحالی که من course_user نوشتم،و همیشه تو نامگذاری جدول میانی از نام های مفرد استفاده میکردم حالا نمیدونم چی شده.لطفا راهنمایی کنید.
اینم خطایی که نشون میده

SQLSTATE[42S02]: Base table or view not found: 1146 Table 'f-site.course_users' doesn't exist (SQL: insert into `course_users` (`user_id`, `course_id`, `updated_at`, `created_at`) values (1, 5, 2020-02-24 08:05:59, 2020-02-24 08:05:59))

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

جایی که رابطه هارو تعریف میکنی...
میتونی به عنوان آرگومان دوم نام جدول رو پاس بدی

مثلا:

public function courses()
{
    return $this->belongsToMany('App\User', 'table_name');
}

اگر نام فیلد های ارتباطی جدولت هم تفاوت داست مثلا به جای user_id داری member_id ....
میتونی به عنوان آرگومان سوم و چهارم اون هارو هم پاس بدی
مثلا:

return $this->belongsToMany('App\Role', 'role_user', 'user_id', 'role_id');

Saied Hr
@saeedlovelorn2 4 سال پیش مطرح شد
0

خیلی ممنونم


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

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