プロジェクト
id | Name
ハウスタイプ
id | Name | Project_id
タイプ
id | Name | House_type_id
住宅
id | Building_nr | Type_id
すべてhouses
(/アパートメントには)type
(XLアパート、小さなアパート)でrelationship
を持っています。 Aタイプはtypes
(別荘、戸建住宅)のrelation
を持ち、はproject
のrelation
を持っています。
したがって、3つのone-to-many relationships
がここで使用されています。
建物番号に基づいて家をorder
にしたいと思います。
私は現在、私のデータベースからデータを取得しています方法:
$project = Project::whereSlug($slug)->with(array('brokers', 'houseTypes.types.houses' => function($query) {
$query->orderBy('bnr');
}))->first();
しかし、これは最後の関係(家屋)はそのbnr
(建物番号)によって順序付けさにはなりません。私は私のビューにデータを読み込む方法
:
@foreach($project->houseTypes as $houseTypes)
@foreach($houseTypes->types as $types)
@foreach($types->houses->sortBy('bnr') as $house)
<tr class="table-row">
<td>{{$house->bnr}}</td>
<td>{{$house->type->houseType->title}}</td>
<td>{{$house->type->rooms}}</td>
<td>€{{$house->price}}</td>
<td>{{$house->living_surface}}m<sup>2</sup></td>
<td>{{$house->water}}m<sup>2</sup></td>
<td>{{$house->location}}</td>
</tr>
@endforeach
@endforeach
@endforeach
私が探しています結果を取得するための最も効率的な/最良の方法は何ですか?
編集:
今のところ私はビル番号(テーブルの行)に基づいてテーブルをソートするためのjavascriptを使用する別のソリューションがあります。興味のない場合は、正しいクエリを使用しても解決できますか?