我有两个模型,/../
和students
。每个学生都可以通过数据透视表languages
使用某种技能说出 n 语言。例如,迈克说英语,技能为3,德语能力为7。
以下是学生模型:
student_language
这是语言模型:
class Student extends \Eloquent {
public function languages()
{
return $this->belongsToMany('Language')->withPivot('skill');
}
}
如何获得使用某种语言的学生列表,并按技能等级对其进行排序?在Fluent中它会是这样的,但是我不能使用连接并且需要在Eloquent中编写它:
class Language extends \Eloquent {
public function students()
{
return $this->belongsToMany('Student')->withPivot('quality');
}
}
感谢您提供任何意见。
编辑:更新
答案 0 :(得分:1)
我没有检查过这个,但你可以试试这个
Student::with(['languages' => function($q) {
$q->orderBy('pivot_skill', 'ASC');
}])->get();