Tôi đã các bảng cơ sở dữ liệu sauLumen: làm thế nào để có được danh sách bảng phụ bằng cách sử dụng Eloquent?
- Towns
- Streets
- Nhà
Họ có một đến nhiều mối quan hệ với nhau để Towns
có thể có nhiều Streets
và Streets
có thể có nhiều Houses
trên đó.
Tôi có ID là Town
và tôi chỉ muốn có danh sách tất cả các Houses
trong thị trấn từ đó. Vì vậy, tại thời điểm này tôi đang làm.
//This gives me streets and houses in nested arrays
$towns = Town::with(['streets', 'streets.houses' => function($query) {
$query->where('active', 1)
}])->find($town_id);
//But I only want a list of houses so I do
$houses = $towns->streets->map(function($street) {
return $street->houses;
});
Tác phẩm này có cách nào tốt hơn để làm điều này? Tôi cảm thấy như thể tôi chỉ có thể có được danh sách các ngôi nhà chỉ bằng cách hùng biện. Việc phải thực hiện một số ánh xạ sau đó có vẻ không đúng.