如何定义下表之间的关系。
Class->belongsToMany('Student');
Student->belongsToMany('Class');
由Class_Student表透视的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");