我的数据库结构具有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请不要投票。
答案 0 :(得分:0)
您使用belongsToMany
关系。
如果您的users_classes
表格中包含字段user_id
和class_id
,则可以执行以下操作:
public function students()
{
return $this->belongsToMany(Student::class, 'users_classes', 'class_id', 'user_id');
}