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

时间:2015-01-15 15:16:24

标签: php mysql laravel-4 eloquent

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

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();

非常感谢!

1 个答案:

答案 0 :(得分:0)

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

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

你的技能模型也必须从雄辩的角度扩展。

现在,您可以使用技能数据选择您的用户:

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

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

$user->skills