0

以下のテーブル間の関係を定義する方法。

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.

Payment テーブルのピボット テーブルを使用せずに多対多の関係を定義するにはどうすればよいでしょうか。または、class_payment_student テーブルのピボット テーブルを作成する必要がありますか?

4

1 に答える 1

0

ピボット テーブル payment_student を作成する必要があります。ピボット テーブル名を渡したい場合は、次のように 2 番目の引数として渡すことができます

例:

return $this->belongsToMany("your_table_name", "pivot_table_name");
于 2015-09-07T12:55:17.143 に答える