У меня есть запрос, который возвращает после json, который я передаю в коллекцию ресурсов.проблема в том, что он возвращает все поля правильно, но когда дело доходит до поля companies_closed, он показывает ноль.тогда как companies_closed - это либо массив, либо пустой массив.Я не могу понять, почему это происходит.
Я использовал этот же метод (передача данных через набор функций) в Laravel 5.6.39, он отлично работает в Laravel.Но когда я делаю это здесь, в люмене 5.6.4, это не работает.
Я думал, что это может быть проблема с кешем, поэтому я следовал почти всем методам в этом URL, но безуспешно.так как это не сработало, я отменил все изменения.https://github.com/laravel/framework/issues/2501
Я не смог найти больше материалов о коллекции ресурсов lumen api.Может кто-нибудь, пожалуйста, посмотрите и скажите мне, что я делаю не так.любая помощь будет высоко ценится.
Eloquent Query:
$companiesQuery = CpdAdmin::where('admin_id', $admin->admin_id)
->with(['companies' => function($query) use($request) {
$query->where('air_id', $request->airport_id)
->where('status', '1')
->with(['companiesClosed' => function($query) use($request) {
$query->where('close_status', 'active')
->where(function ($queryWhere) use($request) {
$queryWhere->where('start_date', '>=', $request->start_date)
->where('start_date', '<=', $request->end_date)
->where(function ($queryType) {
$queryType->where('journey_type', 'Departure')
->orWhere('journey_type', 'Both');
});
})
->orWhere(function ($queryWhere) use($request) {
$queryWhere->where('end_date', '>=', $request->start_date)
->where('end_date', '<=', $request->end_date)
->where(function($queryType) {
$queryType->where('journey_type', 'Arrival')
->orWhere('journey_type', 'Both');
});
});
}]);
}])
->get();
JSON (перед передачей его в коллекцию ресурсов):
JSON возвращается допередача его в коллекцию работает отлично, я показываю все так, как я ожидаю.
"data": [
{
"admin_id": 32,
"admin_name": "Eden Parking",
"email": "edenparking@hotmail.com",
"admin_login": "edenparking@hotmail.com",
"admin_information": "what information",
"contact_number": 303633,
"address": "paka dubai da",
"invoice_email": "invoice@gmail.com",
"contact_person": "uzair khan",
"admin_rights": "1114",
"admin_isactive": "1",
"edit_status": 0,
"created_at": null,
"updated_at": null,
"companies": [
{
"comp_id": 19,
"comp_title": "S Gatwick Meet & Greet",
"comp_email": "mcpgatwick@gmail.com",
"status": 1,
"operation_data": "{\"operating_type\":\"24_7\",\"opening_status\":\"open\"}",
"daily_bookings": 100,
"monthly_bookings": 1000,
"comp_admin": 32,
"air_id": 14,
"companies_closed": []
},
{
"comp_id": 57,
"comp_title": "Simply Parking Gatwick Meet & Greet",
"comp_email": "mcpgatwick@gmail.com",
"status": 1,
"operation_data": "{\"operating_type\":\"24_7\",\"opening_status\":\"open\"}",
"daily_bookings": 100,
"monthly_bookings": 1000,
"comp_admin": 32,
"air_id": 14,
"companies_closed": [
{
"id": 3101,
"start_date": "2019-03-04",
"end_date": "2019-03-15",
"journey_type": "Departure",
"close_status": "active",
"comp_id": 57,
"created_at": null,
"updated_at": null
},
{
"id": 3102,
"start_date": "2019-03-04",
"end_date": "2019-03-15",
"journey_type": "Both",
"close_status": "active",
"comp_id": 57,
"created_at": null,
"updated_at": null
}
]
},
{
"comp_id": 149,
"comp_title": "Park with us Gatwick",
"comp_email": "mcpgatwick@gmail.com",
"status": 1,
"operation_data": null,
"daily_bookings": 100,
"monthly_bookings": 1000,
"comp_admin": 32,
"air_id": 14,
"companies_closed": []
}
]
}
]
Здесь я передал запрос в коллекцию ресурсов
$companiesQueryResourceCollection = new CompanyResourceCollection($companiesQuery);
Коллекция ресурсов:
В самой последней функции у меня есть
'companies_closed' => $ eachCompany-> companies_closed
Я могу выполнить цикл companies_closed, но еслия могу получить что-то, если я ничего не получаю, потому что просто выдаст ошибку.