Laravel-Nova-Excel
Laravel-Nova-Excel copied to clipboard
Mutator issue - Property of non-object
I have two models. Car and Type. Car has a mutator getting the type name from the first relation of type. Every Car will always have at least one type relation.
public function getTypeAttribute() { return $this->types->first()->name }
This works perfectly fine on form, index etc. but when I want to perform an action to download the sheet, it tells me I'm trying to get Property of a non-object. I'm not sure if it's because the package doesn't support mutator attributes or not.
Can you show the full stack trace
Yep. I changed the name of the models to HotelsRequest and HotelsRequestAllotment, just fyi (And it's not an actual Request, it's just the name)
[2020-02-21 13:15:32] local.ERROR: Trying to get property of non-object {"userId":1,"exception":"[object] (ErrorException(code: 0): Trying to get property of non-object at C:\\laragon\\www\\webmaster\\app\\Models\\HotelsRequest.php:19) [stacktrace] #0 C:\\laragon\\www\\webmaster\\app\\Models\\HotelsRequest.php(19): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(8, 'Trying to get p...', 'C:\\\\laragon\\\\www\\\\...', 19, Array) #1 C:\\laragon\\www\\webmaster\\vendor\\laravel\\framework\\src\\Illuminate\\Database\\Eloquent\\Concerns\\HasAttributes.php(450): App\\Models\\HotelsRequest->getHotelAttribute(NULL) #2 C:\\laragon\\www\\webmaster\\vendor\\laravel\\framework\\src\\Illuminate\\Database\\Eloquent\\Concerns\\HasAttributes.php(346): Illuminate\\Database\\Eloquent\\Model->mutateAttribute('hotel', NULL) #3 C:\\laragon\\www\\webmaster\\vendor\\laravel\\framework\\src\\Illuminate\\Database\\Eloquent\\Concerns\\HasAttributes.php(319): Illuminate\\Database\\Eloquent\\Model->getAttributeValue('hotel') #4 C:\\laragon\\www\\webmaster\\vendor\\laravel\\framework\\src\\Illuminate\\Database\\Eloquent\\Model.php(1546): Illuminate\\Database\\Eloquent\\Model->getAttribute('hotel') #5 C:\\laragon\\www\\webmaster\\vendor\\laravel\\framework\\src\\Illuminate\\Support\\Arr.php(148): Illuminate\\Database\\Eloquent\\Model->offsetExists('hotel') #6 C:\\laragon\\www\\webmaster\\vendor\\laravel\\framework\\src\\Illuminate\\Support\\helpers.php(524): Illuminate\\Support\\Arr::exists(Object(App\\Models\\HotelsRequest), 'hotel') #7 C:\\laragon\\www\\webmaster\ ova\\src\\Fields\\Field.php(256): data_get(Object(App\\Models\\HotelsRequest), Array) #8 C:\\laragon\\www\\webmaster\ ova\\src\\Fields\\Field.php(239): Laravel\\Nova\\Fields\\Field->resolveAttribute(Object(App\\Models\\HotelsRequest), 'hotel') #9 C:\\laragon\\www\\webmaster\\vendor\\laravel\\framework\\src\\Illuminate\\Support\\HigherOrderCollectionProxy.php(60): Laravel\\Nova\\Fields\\Field->resolve(Object(App\\Models\\HotelsRequest)) #10 C:\\laragon\\www\\webmaster\\vendor\\laravel\\framework\\src\\Illuminate\\Support\\Collection.php(475): Illuminate\\Support\\HigherOrderCollectionProxy->Illuminate\\Support\\{closure}(Object(Laravel\\Nova\\Fields\\Text), 0) #11 C:\\laragon\\www\\webmaster\\vendor\\laravel\\framework\\src\\Illuminate\\Support\\HigherOrderCollectionProxy.php(61): Illuminate\\Support\\Collection->each(Object(Closure)) #12 C:\\laragon\\www\\webmaster\ ova\\src\\ResolvesFields.php(274): Illuminate\\Support\\HigherOrderCollectionProxy->__call('resolve', Array) #13 C:\\laragon\\www\\webmaster\ ova\\src\\ResolvesFields.php(33): Laravel\\Nova\\Resource->resolveFields(Object(Maatwebsite\\LaravelNovaExcel\\Requests\\ExportResourceActionRequest), Object(Closure)) #14 C:\\laragon\\www\\webmaster\\vendor\\maatwebsite\\laravel-nova-excel\\src\\Requests\\ExportResourceActionRequest.php(32): Laravel\\Nova\\Resource->indexFields(Object(Maatwebsite\\LaravelNovaExcel\\Requests\\ExportResourceActionRequest)) #15 C:\\laragon\\www\\webmaster\\vendor\\maatwebsite\\laravel-nova-excel\\src\\Requests\\WithIndexFields.php(18): Maatwebsite\\LaravelNovaExcel\\Requests\\ExportResourceActionRequest->resourceFields(Object(App\\Nova\\HotelsRequest)) #16 C:\\laragon\\www\\webmaster\\vendor\\maatwebsite\\laravel-nova-excel\\src\\Concerns\\Only.php(68): Maatwebsite\\LaravelNovaExcel\\Requests\\ExportResourceActionRequest->indexFields(Object(App\\Nova\\HotelsRequest)) #17 C:\\laragon\\www\\webmaster\\vendor\\maatwebsite\\laravel-nova-excel\\src\\Actions\\ExportToExcel.php(90): Maatwebsite\\LaravelNovaExcel\\Actions\\ExportToExcel->handleOnly(Object(Maatwebsite\\LaravelNovaExcel\\Requests\\ExportResourceActionRequest)) #18 C:\\laragon\\www\\webmaster\ ova\\src\\Http\\Controllers\\ActionController.php(38): Maatwebsite\\LaravelNovaExcel\\Actions\\ExportToExcel->handleRequest(Object(Laravel\\Nova\\Http\\Requests\\ActionRequest)) #19 [internal function]: Laravel\\Nova\\Http\\Controllers\\ActionController->store(Object(Laravel\\Nova\\Http\\Requests\\ActionRequest), 'hotels-requests') #20 C:\\laragon\\www\\webmaster\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Controller.php(54): call_user_func_array(Array, Array) #21 C:\\laragon\\www\\webmaster\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\ControllerDispatcher.php(45): Illuminate\\Routing\\Controller->callAction('store', Array) #22 C:\\laragon\\www\\webmaster\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Route.php(219): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(Laravel\\Nova\\Http\\Controllers\\ActionController), 'store') #23 C:\\laragon\\www\\webmaster\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Route.php(176): Illuminate\\Routing\\Route->runController() #24 C:\\laragon\\www\\webmaster\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php(680): Illuminate\\Routing\\Route->run() #25 C:\\laragon\\www\\webmaster\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Pipeline.php(30): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request)) #26 C:\\laragon\\www\\webmaster\ ova\\src\\Http\\Middleware\\Authorize.php(18): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request)) #27 C:\\laragon\\www\\webmaster\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(163): Laravel\\Nova\\Http\\Middleware\\Authorize->handle(Object(Illuminate\\Http\\Request), Object(Closure)) #28 C:\\laragon\\www\\webmaster\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) #29 C:\\laragon\\www\\webmaster\ ova\\src\\Http\\Middleware\\BootTools.php(20): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request)) #30 C:\\laragon\\www\\webmaster\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(163): Laravel\\Nova\\Http\\Middleware\\BootTools->handle(Object(Illuminate\\Http\\Request), Object(Closure)) #31 C:\\laragon\\www\\webmaster\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) #32 C:\\laragon\\www\\webmaster\ ova\\src\\Http\\Middleware\\DispatchServingNovaEvent.php(20): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request)) #33 C:\\laragon\\www\\webmaster\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(163): Laravel\\Nova\\Http\\Middleware\\DispatchServingNovaEvent->handle(Object(Illuminate\\Http\\Request), Object(Closure)) #34 C:\\laragon\\www\\webmaster\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) #35 C:\\laragon\\www\\webmaster\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\Middleware\\Authenticate.php(43): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request)) #36 C:\\laragon\\www\\webmaster\ ova\\src\\Http\\Middleware\\Authenticate.php(31): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure)) #37 C:\\laragon\\www\\webmaster\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(163): Laravel\\Nova\\Http\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure)) #38 C:\\laragon\\www\\webmaster\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) #39 C:\\laragon\\www\\webmaster\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Middleware\\SubstituteBindings.php(41): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request)) #40 C:\\laragon\\www\\webmaster\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(163): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure)) #41 C:\\laragon\\www\\webmaster\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) #42 C:\\laragon\\www\\webmaster\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken.php(75): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request)) #43 C:\\laragon\\www\\webmaster\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(163): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure)) #44 C:\\laragon\\www\\webmaster\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) #45 C:\\laragon\\www\\webmaster\\vendor\\laravel\\framework\\src\\Illuminate\\View\\Middleware\\ShareErrorsFromSession.php(49): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request)) #46 C:\\laragon\\www\\webmaster\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(163): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure)) #47 C:\\laragon\\www\\webmaster\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) #48 C:\\laragon\\www\\webmaster\\vendor\\laravel\\framework\\src\\Illuminate\\Session\\Middleware\\StartSession.php(56): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request)) #49 C:\\laragon\\www\\webmaster\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(163): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure)) #50 C:\\laragon\\www\\webmaster\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) #51 C:\\laragon\\www\\webmaster\\vendor\\laravel\\framework\\src\\Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse.php(37): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request)) #52 C:\\laragon\\www\\webmaster\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(163): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure)) #53 C:\\laragon\\www\\webmaster\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) #54 C:\\laragon\\www\\webmaster\\vendor\\laravel\\framework\\src\\Illuminate\\Cookie\\Middleware\\EncryptCookies.php(66): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request)) #55 C:\\laragon\\www\\webmaster\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(163): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure)) #56 C:\\laragon\\www\\webmaster\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) #57 C:\\laragon\\www\\webmaster\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(104): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request)) #58 C:\\laragon\\www\\webmaster\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php(682): Illuminate\\Pipeline\\Pipeline->then(Object(Closure)) #59 C:\\laragon\\www\\webmaster\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php(657): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request)) #60 C:\\laragon\\www\\webmaster\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php(623): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route)) #61 C:\\laragon\\www\\webmaster\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php(612): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request)) #62 C:\\laragon\\www\\webmaster\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php(176): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request)) #63 C:\\laragon\\www\\webmaster\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Pipeline.php(30): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request)) #64 C:\\laragon\\www\\webmaster\ ova\\src\\Http\\Middleware\\ServeNova.php(26): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request)) #65 C:\\laragon\\www\\webmaster\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(163): Laravel\\Nova\\Http\\Middleware\\ServeNova->handle(Object(Illuminate\\Http\\Request), Object(Closure)) #66 C:\\laragon\\www\\webmaster\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) #67 C:\\laragon\\www\\webmaster\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php(21): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request)) #68 C:\\laragon\\www\\webmaster\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(163): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure)) #69 C:\\laragon\\www\\webmaster\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) #70 C:\\laragon\\www\\webmaster\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php(21): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request)) #71 C:\\laragon\\www\\webmaster\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(163): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure)) #72 C:\\laragon\\www\\webmaster\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) #73 C:\\laragon\\www\\webmaster\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize.php(27): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request)) #74 C:\\laragon\\www\\webmaster\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(163): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure)) #75 C:\\laragon\\www\\webmaster\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) #76 C:\\laragon\\www\\webmaster\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\CheckForMaintenanceMode.php(62): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request)) #77 C:\\laragon\\www\\webmaster\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(163): Illuminate\\Foundation\\Http\\Middleware\\CheckForMaintenanceMode->handle(Object(Illuminate\\Http\\Request), Object(Closure)) #78 C:\\laragon\\www\\webmaster\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) #79 C:\\laragon\\www\\webmaster\\vendor\\fideloper\\proxy\\src\\TrustProxies.php(57): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request)) #80 C:\\laragon\\www\\webmaster\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(163): Fideloper\\Proxy\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure)) #81 C:\\laragon\\www\\webmaster\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) #82 C:\\laragon\\www\\webmaster\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(104): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request)) #83 C:\\laragon\\www\\webmaster\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php(151): Illuminate\\Pipeline\\Pipeline->then(Object(Closure)) #84 C:\\laragon\\www\\webmaster\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php(116): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request)) #85 C:\\laragon\\www\\webmaster\\public\\index.php(55): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request)) #86 {main}
Any updates on this? A lot of the models I'm working with are using accessors to grab values and it's really a challange when trying to get the excel file.
👀I've also run into this.
Same issue here.
I have also the same issue, Does anyone overcome this issue?
Same here - any workaround would be great!
Same problem here. @patrickbrouwers Do you have any ideas about how to solve this?
Not really, haven't ran into it myself and don't have the time to dive into it. If anyone finds a fix, feel free to PR or if it's important you could consider getting support on a commercial basis https://laravel-excel.com/commercial-support
I have also the same issue, Does anyone overcome this issue?
Me too. Any idea if this will be looked into?
No priority for me now, sorry. As mentioned before we can look into it on commercial basis.
Not sure where the issue is, but I resolved it in a hacky way by setting the value of the getter...
e.g.
protected $appends = ['name'];
public function getNameAttribute() { return $this->user ? $this->user->name : 'Name'; }
The same issue, any update on this ?