首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在laravel中定义关系问题

在laravel中定义关系问题
EN

Stack Overflow用户
提问于 2015-03-27 12:57:11
回答 1查看 50关注 0票数 0

如何定义下表之间的关系。

代码语言:javascript
复制
Class->belongsToMany('Student');

Student->belongsToMany('Class');

以class_student表为轴心的班级表和学生表

我有如下的付款表

代码语言:javascript
复制
        $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');

缴费表中的缴费金额表示学生可以单独支付每个班级的学费。

代码语言:javascript
复制
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表创建数据透视表?

EN

回答 1

Stack Overflow用户

发布于 2015-09-07 20:55:17

您应该创建一个数据透视表payment_student。如果想要传递数据透视表名称,可以将其作为第二个参数传递,如下所示

示例:

代码语言:javascript
复制
return $this->belongsToMany("your_table_name", "pivot_table_name");
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29293571

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档