【发布时间】:2021-08-13 01:04:24
【问题描述】:
我使用 Laravel 8。我想获取用户进程课程,但我得到了所有用户进程。
在 User.php 中
public function courses()
{
return $this->belongsToMany(Course::class);
}
Course.php
public function progresses()
{
return $this->hasMany(Progress::class);
}
Progress.php 为空。
课程表
Schema::create('courses', function (Blueprint $table) {
$table->id();
$table->string('title');
...
$table->timestamps();
});
进度表
Schema::create('progress', function (Blueprint $table) {
$table->id();
$table->foreignId('user_id')->constrained()->onDelete('cascade');
$table->foreignId('course_id')->constrained()->onDelete('cascade');
$table->integer('percent');
$table->timestamps();
});
课程控制器
public function index()
{
$userCourses = User::where('id', 1)->with('courses.progresses')->first();
return $userCourses;
}
这个回报:
但我只想要 user_id = 1 的进程。
【问题讨论】:
标签: laravel eloquent foreign-keys relationship laravel-8