Log message #4264636

# At Username Text
# Jun 2nd 2021, 06:16 thomas465 yeah, that’s what i’m thinking too, as a stopgap at least, but i’m just wondering if this is something that should be fixed either in the ORM or in `TimeStampBehavior` ?
# Jun 2nd 2021, 02:35 khalil Solved it :)
# Jun 2nd 2021, 02:17 slackebot the relationship to hasMany, and I change the form field to array (shops.0.name) the company saves properly, is this a bug or am I missing something?
# Jun 2nd 2021, 02:17 slackebot belongsTo users and users belongsTo company. Everything is set properly and following the documentation and the conventions, but when I try to save, only the user is getting saved, the shop is not even appearing in the request, unless I change the form field name from for example shop.name to shops.name - even though in the documentation it's clearly stated that in the case of belongsTo you should use singular not plural. If I change
# Jun 2nd 2021, 02:17 khalil Not sure if it's a bug or something I'm doing wrong In my DB schema, I have "Users" and "Shops", the users table has a shop_id field, and the shops table has a user_id (doing this to make querying easier in some complicated cases I have) The issue is happening when trying to add a new user, when a new user is getting added, I want to also create a record in the companies table. The relationships are belongsTo, companies
# Jun 2nd 2021, 02:12 khalil Hey guys
# Jun 1st 2021, 21:35 corey.taylor.fl test
# Jun 1st 2021, 21:30 greg138 Would your encoded JSON not have something more like `"first_name":"John"` in it anyway?
# Jun 1st 2021, 21:19 tyler.adam.lazenby Thank you for that solution
# Jun 1st 2021, 21:17 tyler.adam.lazenby That is really very helpful thank you
# Jun 1st 2021, 21:17 tyler.adam.lazenby very interesting
# Jun 1st 2021, 21:16 thomas465 ```$responseData = json_decode((string)$this->_response->getBody(), true)```
# Jun 1st 2021, 21:15 kevin.pfeifer and assert that with some json you expect
# Jun 1st 2021, 21:15 kevin.pfeifer after the `$this->post`
# Jun 1st 2021, 21:15 kevin.pfeifer try ```$response = $this->_response->getBody()->__toString();```
# Jun 1st 2021, 21:14 tyler.adam.lazenby but the third assertion fails even though the fixture is set to have the first name as John
# Jun 1st 2021, 21:13 tyler.adam.lazenby this is my test right now
# Jun 1st 2021, 21:13 tyler.adam.lazenby ```public function testAddToExisting(): void { $data = ['account_id' => 1]; $this->enableCsrfToken(); $this->post('/accounts/add-to-existing/1', $data); $this->assertResponseOk(); $this->assertResponseNotEmpty(); $this->assertResponseContains('first_name: John'); }```
# Jun 1st 2021, 21:13 tyler.adam.lazenby Let me make my question more specific. If I expect to json_encode a user entity with a first_name property valued as "john", how would I unit test that?
# Jun 1st 2021, 21:09 greg138 I've done that. This is what `removeBehavior` is for. :)
# Jun 1st 2021, 21:08 kevin.pfeifer sorry, haven’t dealt with that till now. Can’t answer that right now ,:)
# Jun 1st 2021, 21:06 thomas465 tags is linked to products with a `through` class, that class is also defined. again, everything works, but i’d like it not update the modified field :)
# Jun 1st 2021, 21:04 thomas465 but tag_id = 10 will also have it’s modified date updated (TimeStampBehavoir)
# Jun 1st 2021, 21:03 thomas465 and its creating a tag_id = 10, product_id = 99 in the link table along with the comment (and other cols for the join table)
# Jun 1st 2021, 21:03 tyler.adam.lazenby On unit tests, I want to test to see if the response contains a new account id, since I return it in application/json form. How can I do that?
# Jun 1st 2021, 21:02 thomas465 well, here the tag id is 10
# Jun 1st 2021, 21:02 kevin.pfeifer ah ok your junction table has an id
# Jun 1st 2021, 21:01 thomas465 https://book.cakephp.org/4/en/orm/saving-data.html#saving-additional-data-to-the-join-table
# Jun 1st 2021, 21:01 thomas465 it looks like the example in the docs ``` 'tags' => [ [ 'id' => 10, '_joinData' => [ 'comment' => '123123' ] ], // Other courses.```
# Jun 1st 2021, 20:57 kevin.pfeifer and it does look like that? ```$entity['tags'] = [ '_ids' => [ '23' ] ];``` where 23 is one valid tag id
# Jun 1st 2021, 20:52 thomas465 (the import script is just doing pathEntity on handcrafted arrays so i would not think it makes a difference)
# Jun 1st 2021, 20:51 thomas465 let me give it a try
# Jun 1st 2021, 20:47 kevin.pfeifer does it also happen when you add that entry “normally” via your template or does it just happen with your import script
# Jun 1st 2021, 20:45 thomas465 My issue is that when running a import/sync it keeps touching the same 5 tags resulting in deadlock errors after a while
# Jun 1st 2021, 20:45 thomas465 (ok that was terrible english) I’m creating a new link in the link table, (with some extra joindata) all that works fine, but it updates the modified date of the `tag` i’m linking to, is that expected behaviour ?
# Jun 1st 2021, 20:43 thomas465 Question when saving belongsToMany() association with _joinData … is it expected that the modified date of the target table? So if `products -> products_tags -> tags` it updates the modifed col of `tags`
# Jun 1st 2021, 20:43 kevin.pfeifer well you get the parsed json data via ```$data = $this->getRequest()->getData()``` if you want the raw body you could try look at your $_POST Variable (if you sent your data via POST)
# Jun 1st 2021, 20:06 rightscoreanalysis is $this->request->input() the best way to read raw json body
# Jun 1st 2021, 19:10 tyler.adam.lazenby right, that is what I just did now, but the issue is that I have to add that to the table class itself as a method and I can reuse that
# Jun 1st 2021, 19:05 richard makes more sense to add something like that to $validator
# Jun 1st 2021, 19:04 richard @tyler.adam.lazenby you wouldn’t see the error until you attempt a save on buildRules