У меня есть таблицы баз данных 3: страна, город и ресторанРегистрация 3 таблицы базы данных, чтобы получить результат в формате JSON Laravel
Country {id,name}
City {id,name,country_id}
Restaurant {id,name,city_id}
, как я могу получить данные страны с его городом, и это рестораны?
Я использую этот код, чтобы получить страны с его города: к сведению, что я сделал все отношения между таблицами следующим образом:
Country {hasMany('City')}
City {hasMany('Hotel')}
City {belongsTo('Country')}
Hotel {belongsTo('City')}
$x = Country::with('city')->get();
return Response::json($x,200,[],JSON_PRETTY_PRINT);
Результат:
[
{
"id": 1,
"name": "Spain",
"city": [
{
"id": 1,
"name": "Madrid",
"country_id": 1
},
{
"id": 2,
"name": "Barcelona",
"country_id": 1
}
]
},
{
"id": 2,
"name": "Italy",
"city": []
}
]
что мне сделать, чтобы получить рестораны в каждом городе в том же ответе JSON?
любая помощь будет оценена.
Спасибо, это сработало. но как я могу получить все отели только в стране @ maximl337? –
'$ x = Страна-> с (« город ») -> с (« отели ») -> где (« страна »,« = »,« США ») -> get(); '$ hotels = $ x-> отели; '$ hotels = $ x-> гостиницы() -> где (" city_id "," = ", 15) -> get(); –