Laravel:我如何创建关系以及我使用哪一个?

时间:2017-07-27 13:36:22

标签: php laravel

我的数据库结构具有classes表,users表和users_classes表,与其他两个表匹配,因为用户可以属于多个类。我现在有问题。我有这样的代码:

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Facades\DB;

class Classes extends Model
{
    protected $table = 'classes';   

    public function students()
    {

    }             
}

我希望能够通过键入$class = Classes::find(1)然后$class->students来访问学生来访问课程的学生。如何在不使用查询构建器的情况下定义关系?我想用口才。我是Laravel的noobie请不要投票。

1 个答案:

答案 0 :(得分:0)

您使用belongsToMany关系。

如果您的users_classes表格中包含字段user_idclass_id,则可以执行以下操作:

public function students()
{
    return $this->belongsToMany(Student::class, 'users_classes', 'class_id', 'user_id');
}