Как определить связь между таблицами ниже.
Class->belongsToMany('Student');
Student->belongsToMany('Class');
Таблица классов и таблица ученика поворачиваются на таблицу class_student
У меня есть таблица оплаты, как показано ниже
$table->increments('id');
$table->integer('class_id')->unsigned()->index();
$table->integer('student_id')->unsigned()->index();
$table->integer('payment_amount');
$table->timestamps();
$table->softDeletes();
$table->foreign('class_id')->references('id')->on('classes')->onDelete('cascade');
$table->foreign('student_id')->references('id')->on('students')->onDelete('cascade');
Сумма оплаты в таблице платежей означает, что студенты могут оплачивать плату за каждый класс отдельно.
Payment has many students. And Payment has many Class.
Class has many Payments. And Class has many students.
Student has many Classs. And Student has many payments.
Итак, как я могу определить отношение многие ко многим без сводной таблицы для таблицы платежей? Или я должен создать сводную таблицу для таблицы class_payment_student?
Вы должны создать сводную таблицу payment_student.
Если вы хотите передать имя сводной таблицы, вы можете передать его в качестве второго аргумента, как показано ниже
Пример:
return $this->belongsToMany("your_table_name", "pivot_table_name");
Других решений пока нет …