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

Laravel: How do I create the relationship and which one do I use?

我的数据库结构有 classes table、users table 和 users_classes table 相匹配二,因为一个用户可以属于多个 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 访问学生来访问 class 的学生。如何在不使用查询构建器的情况下定义关系?我想使用 eloquent。我是 Laravel 的菜鸟,请不要投票。

您使用 belongsToMany 关系。

如果您的 users_classes table 具有 user_idclass_id 字段,您可以执行以下操作:

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