Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Removed ArrayAccess breaks Users CP #1669

Closed
vguerrerobosch opened this issue Apr 12, 2020 · 5 comments
Closed

Removed ArrayAccess breaks Users CP #1669

vguerrerobosch opened this issue Apr 12, 2020 · 5 comments

Comments

@vguerrerobosch
Copy link

vguerrerobosch commented Apr 12, 2020

Bug Description

CP Users throw error: Cannot use object of type Statamic\Auth\Eloquent\User as array.

How to Reproduce

Setup Eloquent Users and visit CP Users /cp/users.

Extra Detail

Removed ArrayAccess from Statamic\Auth\User in beta 24 causes Eloquent Users to break.

Commit 62aa96c

Environment

Statamic version: 3.0.0.-beta-24

PHP version: 7.3

Install method:

@jasonvarga
Copy link
Member

What url were you on? What were you doing when you saw this error? What’s the full stack trace?

@duncanmcclean
Copy link
Member

Was literally about to post this issue. It happens when you visit the /cp/users page.

@vguerrerobosch
Copy link
Author

vguerrerobosch commented Apr 12, 2020

Yes, /cp/users page.

Stack trace:

[2020-04-12 15:33:09] local.ERROR: Cannot use object of type Statamic\Auth\Eloquent\User as array {"userId":1,"exception":"[object] (Symfony\\Component\\Debug\\Exception\\FatalThrowableError(code: 0): Cannot use object of type Statamic\\Auth\\Eloquent\\User as array at /Users/victor/Sites/statamic/vendor/laravel/framework/src/Illuminate/Http/Resources/DelegatesToResource.php:53)
[stacktrace]
#0 /Users/victor/Sites/statamic/vendor/laravel/framework/src/Illuminate/Support/Arr.php(148): Illuminate\\Http\\Resources\\Json\\JsonResource->offsetExists('resource')
#1 /Users/victor/Sites/statamic/vendor/laravel/framework/src/Illuminate/Support/helpers.php(162): Illuminate\\Support\\Arr::exists(Object(Statamic\\Http\\Resources\\CP\\Users\\ListedUser), 'resource')
#2 /Users/victor/Sites/statamic/vendor/laravel/framework/src/Illuminate/Support/Arr.php(419): data_get(Object(Statamic\\Http\\Resources\\CP\\Users\\ListedUser), Array)
#3 /Users/victor/Sites/statamic/vendor/laravel/framework/src/Illuminate/Support/Collection.php(625): Illuminate\\Support\\Arr::pluck(Array, Array, NULL)
#4 /Users/victor/Sites/statamic/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\\Support\\Collection->pluck('resource')
#5 /Users/victor/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pagination/AbstractPaginator.php(657): Illuminate\\Pagination\\AbstractPaginator->forwardCallTo(Object(Statamic\\Auth\\UserCollection), 'pluck', Array)
#6 /Users/victor/Sites/statamic/vendor/laravel/framework/src/Illuminate/Http/Resources/Json/PaginatedResourceResponse.php(28): Illuminate\\Pagination\\AbstractPaginator->__call('pluck', Array)
#7 /Users/victor/Sites/statamic/vendor/laravel/framework/src/Illuminate/Support/helpers.php(422): Illuminate\\Http\\Resources\\Json\\PaginatedResourceResponse->Illuminate\\Http\\Resources\\Json\\{closure}(Object(Illuminate\\Http\\JsonResponse))
#8 /Users/victor/Sites/statamic/vendor/laravel/framework/src/Illuminate/Http/Resources/Json/PaginatedResourceResponse.php(31): tap(Object(Illuminate\\Http\\JsonResponse), Object(Closure))
#9 /Users/victor/Sites/statamic/vendor/laravel/framework/src/Illuminate/Http/Resources/Json/ResourceCollection.php(132): Illuminate\\Http\\Resources\\Json\\PaginatedResourceResponse->toResponse(Object(Illuminate\\Http\\Request))
#10 /Users/victor/Sites/statamic/vendor/laravel/framework/src/Illuminate/Http/Resources/Json/ResourceCollection.php(112): Illuminate\\Http\\Resources\\Json\\ResourceCollection->preparePaginatedResponse(Object(Illuminate\\Http\\Request))
#11 /Users/victor/Sites/statamic/vendor/laravel/framework/src/Illuminate/Routing/Router.php(734): Illuminate\\Http\\Resources\\Json\\ResourceCollection->toResponse(Object(Illuminate\\Http\\Request))
#12 /Users/victor/Sites/statamic/vendor/laravel/framework/src/Illuminate/Routing/Router.php(721): Illuminate\\Routing\\Router::toResponse(Object(Illuminate\\Http\\Request), Object(Statamic\\Http\\Resources\\CP\\Users\\Users))
#13 /Users/victor/Sites/statamic/vendor/laravel/framework/src/Illuminate/Routing/Router.php(681): Illuminate\\Routing\\Router->prepareResponse(Object(Illuminate\\Http\\Request), Object(Statamic\\Http\\Resources\\CP\\Users\\Users))
#14 /Users/victor/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(130): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#15 /Users/victor/Sites/statamic/vendor/statamic/cms/src/Http/Middleware/CP/Localize.php(16): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#16 /Users/victor/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Statamic\\Http\\Middleware\\CP\\Localize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#17 /Users/victor/Sites/statamic/vendor/statamic/cms/src/Http/Middleware/CP/Authorize.php(25): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#18 /Users/victor/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Statamic\\Http\\Middleware\\CP\\Authorize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#19 /Users/victor/Sites/statamic/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(41): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#20 /Users/victor/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#21 /Users/victor/Sites/statamic/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(76): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#22 /Users/victor/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /Users/victor/Sites/statamic/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /Users/victor/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /Users/victor/Sites/statamic/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(56): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /Users/victor/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /Users/victor/Sites/statamic/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /Users/victor/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#29 /Users/victor/Sites/statamic/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(66): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#30 /Users/victor/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /Users/victor/Sites/statamic/vendor/statamic/cms/src/StaticCaching/Middleware/Retrieve.php(34): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /Users/victor/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Statamic\\StaticCaching\\Middleware\\Retrieve->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /Users/victor/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(105): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#34 /Users/victor/Sites/statamic/vendor/laravel/framework/src/Illuminate/Routing/Router.php(683): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#35 /Users/victor/Sites/statamic/vendor/laravel/framework/src/Illuminate/Routing/Router.php(658): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#36 /Users/victor/Sites/statamic/vendor/laravel/framework/src/Illuminate/Routing/Router.php(624): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#37 /Users/victor/Sites/statamic/vendor/laravel/framework/src/Illuminate/Routing/Router.php(613): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#38 /Users/victor/Sites/statamic/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(170): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#39 /Users/victor/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(130): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#40 /Users/victor/Sites/statamic/vendor/statamic/cms/src/Http/Middleware/PoweredByHeader.php(19): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /Users/victor/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Statamic\\Http\\Middleware\\PoweredByHeader->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /Users/victor/Sites/statamic/vendor/barryvdh/laravel-debugbar/src/Middleware/InjectDebugbar.php(65): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /Users/victor/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Barryvdh\\Debugbar\\Middleware\\InjectDebugbar->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /Users/victor/Sites/statamic/vendor/fideloper/proxy/src/TrustProxies.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /Users/victor/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Fideloper\\Proxy\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /Users/victor/Sites/statamic/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /Users/victor/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /Users/victor/Sites/statamic/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /Users/victor/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /Users/victor/Sites/statamic/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#51 /Users/victor/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#52 /Users/victor/Sites/statamic/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php(63): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#53 /Users/victor/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\Foundation\\Http\\Middleware\\CheckForMaintenanceMode->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /Users/victor/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(105): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /Users/victor/Sites/statamic/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(145): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#56 /Users/victor/Sites/statamic/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(110): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#57 /Users/victor/Sites/statamic/public/index.php(55): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#58 /Users/victor/.composer/vendor/laravel/valet/server.php(191): require('/Users/victor/S...')
#59 {main}
"} 

@jasonvarga
Copy link
Member

I've fixed this on the Laravel side. laravel/framework#32296

Once this is tagged, composer update laravel/framework should fix it.

@vguerrerobosch
Copy link
Author

Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants