Log message #4227134

# At Username Text
# Feb 14th 2020, 17:47 ricksaccous lol
# Feb 14th 2020, 17:46 ricksaccous i actually don't really know all i really know is you have to set the return type for that to go away
# Feb 14th 2020, 17:46 phantomwatson Ohh, I was just looking at the doc comment having `void` in it.
# Feb 14th 2020, 17:46 ricksaccous i think that's part of the "method signature"
# Feb 14th 2020, 17:46 ricksaccous public function setUp(): void
# Feb 14th 2020, 17:45 ricksaccous you have to specify return type to void
# Feb 14th 2020, 17:45 ricksaccous yeah
# Feb 14th 2020, 17:42 phantomwatson Does this error make sense to anyone?
# Feb 14th 2020, 17:08 ndm https://vignette.wikia.nocookie.net/villains/images/a/a8/Karate-Kyle.jpg/revision/latest
# Feb 14th 2020, 16:59 admad @ndm that custom eager loader is ninja level shit :)
# Feb 14th 2020, 16:51 ndm No problem
# Feb 14th 2020, 16:50 lilhermit Thanks again for your time it's appreciated
# Feb 14th 2020, 16:49 lilhermit I don't unfortunately I'll have a think on it
# Feb 14th 2020, 16:46 ndm If you have any other unique identifier at hand, then you could probably workaround it with maybe some manual fiddling
# Feb 14th 2020, 16:45 ndm You're welcome.
# Feb 14th 2020, 16:45 lilhermit Thanks for your help
# Feb 14th 2020, 16:44 lilhermit ok that makes it harder because that data comes from an API
# Feb 14th 2020, 16:43 ndm correct
# Feb 14th 2020, 16:43 lilhermit So I need the primary key in the $data array for the phone numbers?
# Feb 14th 2020, 16:41 ndm There you go, the primary key is missing, the data only holds the phone number. I didn't specify it, but it needs to be present in the data that you want to patch the entities with, otherwise the marshaller has no idea into which entity the passed data needs to be merged.
# Feb 14th 2020, 16:35 lilhermit https://pastebin.com/BhNy26TW
# Feb 14th 2020, 16:30 lilhermit I have the data array and the user before and after patching
# Feb 14th 2020, 16:30 lilhermit Yep just adding to pastebin
# Feb 14th 2020, 16:30 ndm _before_ patching
# Feb 14th 2020, 16:29 ndm I'll belive it when I see it ;) Can you show `debug()` of `$user` and `$data`?
# Feb 14th 2020, 16:28 lilhermit The primary keys are there before the patch but after they are all new entities
# Feb 14th 2020, 16:26 ndm What exactly is the final result in `phone_numbers`? I could imagine that it's missing the primary keys which are required for patching existing entities.
# Feb 14th 2020, 16:26 lilhermit No data is changing but it always marks phone_numbers as dirty and duplicates them
# Feb 14th 2020, 16:25 slackebot '{n}',function($number) { return ['number' => $number]; }) ];```
# Feb 14th 2020, 16:25 lilhermit The $data looks like ``` $data = [ 'uuid' => $graphUser->getId(), 'first_name' => $graphUser->getGivenName(), 'last_name' => $graphUser->getSurname(), 'email' => $graphUser->getMail(), 'job_title' => $graphUser->getJobTitle(), 'phone_numbers' => Hash::map($graphUser->getBusinessPhones(),
# Feb 14th 2020, 16:24 lilhermit Patching like `$user = $this->Users->patchEntity($user, $data);`
# Feb 14th 2020, 16:24 lilhermit sure, I load my entity like ``` $user = $this->Users->find('ByUuid', ['uuid' => $graphUser->getId()]) ->contain(['PhoneNumbers']) ->first();```
# Feb 14th 2020, 16:22 ndm @lilhermit I'm not sure, what does your data and code for patching/saving look like?
# Feb 14th 2020, 16:20 ndm no problem
# Feb 14th 2020, 16:20 sebastian.krzewinski. thanks
# Feb 14th 2020, 16:20 sebastian.krzewinski. now is working :)
# Feb 14th 2020, 16:19 sebastian.krzewinski. i see
# Feb 14th 2020, 16:19 ndm @sebastian.krzewinski. Or wait, in CakePHP 4 it's `$this->disableAutoLayout();` now
# Feb 14th 2020, 16:18 lilhermit @ndm Know anything about my saving with associations issue?
# Feb 14th 2020, 16:17 sebastian.krzewinski. i will check
# Feb 14th 2020, 16:17 ndm In that case you've probably removed the `$this->layout = false;` part in `home.php` file, which is responsible for disabling rendering in a layout.