![](/img/trans.png)
[英]Retrieve all parent/child records from database on Laravel (hierarchical data)
[英]Laravel - How to retrieve from child records inside a parent array?
車輛(car_details 的父級)
id - some_column1
1 - some_value
2 - some_value
...
汽車(car_details 的父級):
id - some_column2
1 - 奔馳
2 - 寶馬
...
car_details(兒童):
id - Vehicle_id - car_id - some_column3
1 - 1 - 1 - some_value
2 - 1 - 1 - some_value
3 - 1 - 2 - some_value
4 - 1 - 2 - some_value
class Vehicle extends Model {
public function carDetails() {
return $this->hasMany('App\CarDetail');
}
}
class CarController extends Controller {
$carDetails = Vehicle::with('carDetails')->first();
}
現在在我的刀片視圖中,我想分別迭代汽車及其子項的詳細信息:
First Car:
@foreach($carDetails as $carDetail)
<ul>
<li>Car: {{$carDetail->car->some_column2}}</li>
<li>Car Detail: {{$carDetail->some_column3}}</li>
</ul>
@endforeach
Second Car:
@foreach($carDetails as $carDetail)
<ul>
<li>Car: {{$carDetail->car->some_column2}}</li>
<li>Car Detail: {{$carDetail->some_column3}}</li>
</ul>
@endforeach
//So on...
問題是汽車詳細信息不斷顯示,但是我想將第一輛車詳細信息與第二詳細信息以及之后顯示的汽車分開。
我怎樣才能做到這一點?
我找到了 :)
我不是在 SQL 中使用groupBy
,而是在獲取數據后使用。
$vehicle = Vehicle::find($id);
$vehicle->cars = $vehicle->cars->groupBy('car_id');
不管怎么說,還是要謝謝你
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.