Laravel:用两个表在 laravel 中显示数据

Posted

技术标签:

【中文标题】Laravel:用两个表在 laravel 中显示数据【英文标题】:Laravel: show data in laravel with two table 【发布时间】:2021-09-08 10:05:18 【问题描述】:

我想在 laravel 中显示数据。 这是教室表:

这是学生表:

这是教室学生表:

我希望得到这样的结果:

class来自教室表,year来自学生表(创建学生的年份),data来自学生表(每个月的数据,样本数据:[2,4,6] 表示 1 月 2 日,2 月 4 日,3 月 6 日)。我不知道怎么做。你能帮助我吗?谢谢

【问题讨论】:

【参考方案1】:

您需要为两个模型(课堂模型和学生模型)设置多对多关系。它看起来像这样:

class Clas-s-room extends Model 

  public function students()
     return $this->hasMany(Student:class, 'student_id');
  



class Student extends Model 

  public function clas-s-rooms()
     return $this->hasMany(Clas-s-room:class, 'clas-s-room_id');
  


这里还参考了 laravel 文档的确切解决方案:

https://laravel.com/docs/8.x/eloquent-relationships#many-to-many

【讨论】:

【参考方案2】:

您应该在两个模型中使用 HasMany Relation,并在获取数据时调用此关系函数以获取与其他模型相关的数据并在 Transformer 中为这些数据设置预期的标题。

【讨论】:

以上是关于Laravel:用两个表在 laravel 中显示数据的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 中两个不同数据库之间的匹配 ID

Laravel 显示所有用户并检查是不是属于 Bans 表

Laravel 模板显示路线中的两个刀片模板

多个 Laravel Eloquent 关系未显示来自所有关系的数据

Laravel 获取连接表的最近日期

Laravel 5.5:使用 DatabaseMigrations 进行测试会删除所有表