Log message #4264632

# At Username Text
# 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
# Jun 1st 2021, 18:34 kevin.pfeifer is it the developer mentioned in the comments at the start of the style.css in the theme?
# Jun 1st 2021, 18:33 jonathan086 Understood Kevin! This is frustrating when I am directed to the wrong avenue.
# Jun 1st 2021, 18:28 kevin.pfeifer Just FYI: CakePHP is a complete MVC Framework in which you build whole websites with it, not "just" some little library you use to build themes with
# Jun 1st 2021, 18:25 jonathan086 I am reaching back out to the developer Kevin. Thanks for your time and appreciate it.