我有两个表格:团队和成员。模型以n:m关系连接,在我的团队视图中,我将建立一个foreach循环,以便让所述团队的成员像这样:
@foreach( $team->teammember as $member )
{{ $member->firstname }} {{ $member->lastname }}
@endforeach
到目前为止,一切都很棒且工作正常,我的问题是,我如何获得按姓氏排序的成员列表?在我的控制器中,我没有获得成员,因为连接是通过模型完成的,我只能对团队进行排序,而不是成员。
答案 0 :(得分:2)
如果您总是希望按姓氏排序,您还可以直接在模型的关系函数中添加sortBy调用。
public function teammember() {
return this->hasMany('Teammember')->orderBy('last_name');
}
在这种情况下,我更喜欢Darren Taylor提出的保持灵活性的单独方法,但很高兴知道你也可以直接链接到关系函数。
答案 1 :(得分:1)
基本上,你可以这样做:
@foreach( $team->teammember()->orderBy('last_name')->get() as $member )
{{ $member->firstname }} {{ $member->lastname }}
@endforeach
但是,如果你计划做很多事情,可能最好把它抽象到模型中。