You mean that you want to get users which have some courses?
$users = User::with(['courses','subCategory','mainCategory'])->has('courses')->get();
Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.
Hello Genius , Please help me to resolve this.
User Model
public function courses()
{
return $this->belongsToMany(Course::class);
}
Course Model
public function lesson()
{
return $this->hasMany(Lesson::class, 'lesson_id', 'id');
}
public function mainCategory()
{
return $this->belongsTo(MainCategory::class,'main_category_id','id');
}
public function subCategory()
{
return $this->belongsTo(SubCategory::class,'sub_category_id','id');
}
public function users()
{
return $this->belongsToMany(User::class);
}
So it has pivot table., course_user , now i want to get "User assigned Courses" , So i used this code. its failed
$data = User::with('courses','subCategory','mainCategory')->where('users.id','=',$userId)->get();
Here is ER Diagram.
To retrieve a specific user.
$user = User::with(['courses' => function ($query) {
$query->with(['subCategory', 'mainCategory']);
}])->findOrFail($userId);
Please or to participate in this conversation.