如何将此查询转换为 Laravel Eloquent 或使用 Laravel 查询生成器

How to convert this Query to Laravel Eloquent or Using Laravel Query Builder

我正在使用 laravel 框架开发应用程序,只是想问一下如何将此 mysql 查询转换为 Laravel Eloquent 或 Laravel查询生成器。请指教。

SELECT * FROM skill_user AS su, skills AS s WHERE su.user_id = 1 AND su.skill_id = s.id

这是我目前的查询

$skills = DB::table('skill_user')
                    ->where('skill_user.user_id','=', $profile_id)
                    ->where('skill_user.skill_id', '=', 'skills.id')
                    ->get();

非常感谢!

在从 eloquent 扩展的用户模型中添加一个函数:

public function skills() {
    return $this->belongsToMany('Skill');
}

您的技能模型也必须从 eloquent 扩展而来。

现在您可以 select 您的用户具有以下技能数据:

$user = User::with('skills')->find(1);

您可以通过以下方式接收技能数据:

$user->skills