Недопустимое исключение аргумента: отсутствуют данные при извлечении модели по запросу ajax

Я боролся с этой проблемой в течение месяца. Моя среда разработки — Windows с IIS, а мой продукт — на AWS Elastic Beanstalk. Все работает AWS за исключением получения моделей с запросом ajax. Я получаю эту ошибку ниже.

InvalidArgumentException: данные отсутствуют в
/var/app/current/vendor/nesbot/carbon/src/Carbon/Carbon.php:582

Этого не происходит в моей среде Windows Dev. Я обновился до Laravel 5.4 с 5.3, и эта проблема все еще присутствует.

Я вижу, что Laravel пытается обновить метки времени, и это последняя строка в трассировке стека.

/var/app/current/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/HasAttributes.php(688): Carbon \ Carbon :: createFromFormat (‘Ymd H: i: s.000’, ‘2017 -02-05 20:15:15 ‘)

Вы определенно можете увидеть, что Данные отсутствуют, что объясняет ошибку, но мой код не вызывает это напрямую, и я не могу найти, где это изменить.

Обратите внимание, что это происходит только с вызовами Ajax. Я могу создавать, обновлять и удалять записи базы данных без AJAX, и все работает отлично. Вот фрагмент моего JavaScript

$.ajax({

type: "PUT",
url: '/config/vlans/' + device_id,
success: function (data) {

// Do Stuff

},
error: function (data) {

}
});

Также обратите внимание, что вызов AJAX успешен, когда модель не возвращает записей.

Пожалуйста помоги.

РЕДАКТИРОВАТЬ — код трассировки стека и код контроллера

AJAX текст ответа

InvalidArgumentException in Carbon.php line 582:
Data missing
in Carbon.php line 582
?
at Carbon::createFromFormat('Y-m-d H:i:s.000', '2017-02-18 15:39:46') in Pipeline->Illuminate\Routing\{closure}(object(Request)) in EncryptCookies.php line 59
at EncryptCookies->handle(object(Request), object(Closure)) in Pipeline.php line 148
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 53
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in Pipeline.php line 102
at Pipeline->then(object(Closure)) in Router.php line 561
at Router->runRouteWithinStack(object(Route), object(Request)) in Router.php line 520
at Router->dispatchToRoute(object(Request)) in Router.php line 498
at Router->dispatch(object(Request)) in Kernel.php line 174
at Kernel->Illuminate\Foundation\Http\{closure}(object(Request)) in Pipeline.php line 30
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in CheckForMaintenanceMode.php line 46
at CheckForMaintenanceMode->handle(object(Request), object(Closure)) in Pipeline.php line 148
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 53
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in Pipeline.php line 102
at Pipeline->then(object(Closure)) in Kernel.php line 149
at Kernel->sendRequestThroughRouter(object(Request)) in Kernel.php line 116
at Kernel->handle(object(Request)) in index.php line 53

запись laravel.log

[2017-02-20 00:46:03] production.ERROR: InvalidArgumentException: Data missing in /var/app/current/vendor/nesbot/carbon/src/Carbon/Carbon.php:582
Stack trace:
#0 /var/app/current/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/HasAttributes.php(709): Carbon\Carbon::createFromFormat('Y-m-d H:i:s.000', '2017-02-18 15:3...')
#1 /var/app/current/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/HasAttributes.php(122): Illuminate\Database\Eloquent\Model->asDateTime('2017-02-18 15:3...')
#2 /var/app/current/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/HasAttributes.php(84): Illuminate\Database\Eloquent\Model->addDateAttributesToArray(Array)
#3 /var/app/current/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(884): Illuminate\Database\Eloquent\Model->attributesToArray()
#4 /var/app/current/vendor/laravel/framework/src/Illuminate/Support/Collection.php(1313): Illuminate\Database\Eloquent\Model->toArray()
#5 [internal function]: Illuminate\Support\Collection->Illuminate\Support\{closure}(Object(App\DeviceInterface))
#6 /var/app/current/vendor/laravel/framework/src/Illuminate/Support/Collection.php(1314): array_map(Object(Closure), Array)
#7 /var/app/current/vendor/laravel/framework/src/Illuminate/Http/JsonResponse.php(61): Illuminate\Support\Collection->toArray()
#8 /var/app/current/vendor/symfony/http-foundation/JsonResponse.php(50): Illuminate\Http\JsonResponse->setData(Object(Illuminate\Database\Eloquent\Collection))
#9 /var/app/current/vendor/laravel/framework/src/Illuminate/Http/JsonResponse.php(27): Symfony\Component\HttpFoundation\JsonResponse->__construct(Object(Illuminate\Database\Eloquent\Collection), 200, Array)
#10 /var/app/current/vendor/laravel/framework/src/Illuminate/Routing/ResponseFactory.php(83): Illuminate\Http\JsonResponse->__construct(Object(Illuminate\Database\Eloquent\Collection), 200, Array, 0)
#11 /var/app/current/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php(221): Illuminate\Routing\ResponseFactory->json(Object(Illuminate\Database\Eloquent\Collection))
#12 /var/app/current/app/Http/Controllers/ConfigController.php(1145): Illuminate\Support\Facades\Facade::__callStatic('json', Array)
#13 [internal function]: App\Http\Controllers\ConfigController->get('device_interfac...', '1')
#14 /var/app/current/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(55): call_user_func_array(Array, Array)
#15 /var/app/current/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(44): Illuminate\Routing\Controller->callAction('get', Array)
#16 /var/app/current/vendor/laravel/framework/src/Illuminate/Routing/Route.php(203): Illuminate\Routing\ControllerDispatcher->dispatch(Object(Illuminate\Routing\Route), Object(App\Http\Controllers\ConfigController), 'get')
#17 /var/app/current/vendor/laravel/framework/src/Illuminate/Routing/Route.php(160): Illuminate\Routing\Route->runController()
#18 /var/app/current/vendor/laravel/framework/src/Illuminate/Routing/Router.php(559): Illuminate\Routing\Route->run()
#19 /var/app/current/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(30): Illuminate\Routing\Router->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#20 /var/app/current/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(41): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#21 /var/app/current/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(148): Illuminate\Routing\Middleware\SubstituteBindings->handle(Object(Illuminate\Http\Request), Object(Closure))
#22 /var/app/current/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#23 /var/app/current/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(43): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#24 /var/app/current/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(148): Illuminate\Auth\Middleware\Authenticate->handle(Object(Illuminate\Http\Request), Object(Closure))
#25 /var/app/current/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#26 /var/app/current/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(65): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#27 /var/app/current/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(148): Illuminate\Foundation\Http\Middleware\VerifyCsrfToken->handle(Object(Illuminate\Http\Request), Object(Closure))
#28 /var/app/current/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#29 /var/app/current/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#30 /var/app/current/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(148): Illuminate\View\Middleware\ShareErrorsFromSession->handle(Object(Illuminate\Http\Request), Object(Closure))
#31 /var/app/current/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#32 /var/app/current/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#33 /var/app/current/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(148): Illuminate\Session\Middleware\StartSession->handle(Object(Illuminate\Http\Request), Object(Closure))
#34 /var/app/current/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#35 /var/app/current/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#36 /var/app/current/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(148): Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle(Object(Illuminate\Http\Request), Object(Closure))
#37 /var/app/current/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#38 /var/app/current/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(59): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#39 /var/app/current/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(148): Illuminate\Cookie\Middleware\EncryptCookies->handle(Object(Illuminate\Http\Request), Object(Closure))
#40 /var/app/current/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#41 /var/app/current/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(102): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#42 /var/app/current/vendor/laravel/framework/src/Illuminate/Routing/Router.php(561): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#43 /var/app/current/vendor/laravel/framework/src/Illuminate/Routing/Router.php(520): Illuminate\Routing\Router->runRouteWithinStack(Object(Illuminate\Routing\Route), Object(Illuminate\Http\Request))
#44 /var/app/current/vendor/laravel/framework/src/Illuminate/Routing/Router.php(498): Illuminate\Routing\Router->dispatchToRoute(Object(Illuminate\Http\Request))
#45 /var/app/current/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(174): Illuminate\Routing\Router->dispatch(Object(Illuminate\Http\Request))
#46 /var/app/current/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(30): Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}(Object(Illuminate\Http\Request))
#47 /var/app/current/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php(46): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#48 /var/app/current/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(148): Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle(Object(Illuminate\Http\Request), Object(Closure))
#49 /var/app/current/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#50 /var/app/current/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(102): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#51 /var/app/current/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(149): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#52 /var/app/current/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(116): Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter(Object(Illuminate\Http\Request))
#53 /var/app/current/public/index.php(53): Illuminate\Foundation\Http\Kernel->handle(Object(Illuminate\Http\Request))
#54 {main}

маршрут

Route::put('/config/{object}/{id}', 'ConfigController@get');

Код контроллера

public function get($object, $id)
{

if ($object == "vlans")
{

$vlan = Vlan::where('device_id',$id)
->where('nat', true)
->get();

return Response::json($vlan);
}

if ($object == "device_interfaces")
{

$device_interfaces = DeviceInterface::where('device_id', $id)
->orderBy('link_speed', 'int_num')
->get();

return Response::json($device_interfaces);
}
}

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector