Log message #4263755

# At Username Text
# May 20th 2021, 23:02 khalil Naming convention of has and belongs to many always confuses me with which should plural and which not
# May 20th 2021, 23:01 khalil And I was working on the wrong file
# May 20th 2021, 23:01 khalil I guess one was auto generated
# May 20th 2021, 23:01 khalil for some reason, I have ProductSize and ProductsSize Entities
# May 20th 2021, 23:01 khalil '_joinData' => object(App\Model\Entity\ProductsSize)
# May 20th 2021, 23:00 khalil Here's what was wrong
# May 20th 2021, 23:00 khalil Ok it worked now
# May 20th 2021, 22:59 khalil Let me try this
# May 20th 2021, 22:59 khalil One sec guys, I noticed something
# May 20th 2021, 22:59 khalil No I'm saying that because `protected _virtual => [ ]`
# May 20th 2021, 22:58 greg138 Because there's a *lot* of those, and not all should be empty...
# May 20th 2021, 22:58 greg138 Is it really an empty array, or just saying that because it says `'[virtual]' => [ ]`?
# May 20th 2021, 22:56 khalil protected _virtual is an empty array
# May 20th 2021, 22:55 slackebot ]` `protected _registryAlias => 'ProductsSizes'` `}`
# May 20th 2021, 22:55 slackebot => [ ]` `'[hasErrors]' => *false*` `'[errors]' => [ ]` `'[invalid]' => [ ]` `'[repository]' => 'ProductsSizes'` `protected _accessible => [ ]` `protected _fields => [ ]` `protected _original => [ ]` `protected _hidden => [ ]` `protected _virtual => [ ]` `protected _dirty => [ ]` `protected _accessors => [ ]` `protected _new => *false*` `protected _errors => [ ]` `protected _invalid => [
# May 20th 2021, 22:55 khalil `'_joinData' => object(App\Model\Entity\ProductsSize) id:*1* {'id' => (int) *23*` `'size_id' => '10'` `'product_id' => (int) *53*` `'width' => '10.000'` `'height' => '20.000'` `'length' => '30.000'` `'weight' => '40.000'` `'price' => '50.00'` `'stock' => (int) *12*` `'is_default' => *false*` `'[new]' => *false*` `'[accessible]' => [ ]` `'[dirty]' => [ ]` `'[original]' => [ ]` `'[virtual]'
# May 20th 2021, 22:53 khalil Wait i'll show you the results of that
# May 20th 2021, 22:53 ndm I mean inside of the `_getLocalPrice` method
# May 20th 2021, 22:52 khalil The price in the db does contain the value, and I can access it in the template
# May 20th 2021, 22:51 ndm Have you debugged it? Like, whether the method is being invoked, and whether the price contains the correct value?
# May 20th 2021, 22:50 khalil I have no idea, It returns null
# May 20th 2021, 22:50 ndm And how did that fail?
# May 20th 2021, 22:48 khalil ```protected $_virtual = ['local_price']; protected function _getLocalPrice() { return $this->_util->convertFromUSD($this->price); }```
# May 20th 2021, 22:47 ndm How exactly did you try to add the field to your join table entity results?
# May 20th 2021, 22:36 slackebot the virtual field on ProductSizes and it also didn't work. Any idea how to achieve this in a HABTMT relation?
# May 20th 2021, 22:36 khalil Hello guys! A question that I can't seem to find answer for in the documentation I have a Products model that's linked to Sizes through ProductSizes, ProductSizes contains an additional field which is "price" I'm doing conversion on this price, so I'm creating a virtual field in the Product entity which is "local_price", but this needs to be accessed from ProductSizes, and it's not working no matter what I try, I tried to add
# May 20th 2021, 14:38 kushan Thanks @ndm
# May 20th 2021, 14:35 ndm yes
# May 20th 2021, 14:34 kushan I'm using CakePHP v4.x and Authentication 2.x plugin
# May 20th 2021, 14:33 kushan Hi, may I know to use JWT authenticator in my app, do I need to add firebase/php-jwt into my composer.json?
# May 20th 2021, 14:28 eax Excellent, thanks so much @ndm :$
# May 20th 2021, 14:28 ndm Yes, you can use the `skipLog` option in the `Error` config to define a list of exceptions that should not be logged. https://github.com/cakephp/app/blob/3.9.1/config/app.php#L174
# May 20th 2021, 14:25 eax Hey folks! In Cake3, is it possible to not have 404 errors go in to the log? :$
# May 20th 2021, 12:38 rightscoreanalysis yeah I knwo I am fighting an uphill battle, actually I think the reason the save failed was due to some nasty beforeSave function messing with data
# May 20th 2021, 12:32 ndm @rightscoreanalysis You might get better help if you supply an example that reproduces the problem. Chances that someone remembers some possible CakePHP 2 validation quirk are quite low.
# May 20th 2021, 11:13 slackebot 'create_method' => array() ) )``` Stock is my related model - but this doesn't tell me anything, how can I find why the save fails?
# May 20th 2021, 11:13 rightscoreanalysis What's up with Cake2 validation, I am trying to see deep associated and it fails, when I debug ($this->invalidFields() I get: ```array( 'Stock' => array( 'business_id' => array(), 'multi_store_id' => array(), 'store_id' => array(), 'brand_id' => array(), 'sku' => array(), 'price' => array(), 'ecommerce_id' => array(), 'vatrate_id' => array(), 'active' => array(), 'open_department' => array(),
# May 20th 2021, 11:01 neon1024 Ah, I just needed to load the Session one :)
# May 20th 2021, 10:59 neon1024 I much prefer unit tests though over integration tests, as the code under test is much smaller
# May 20th 2021, 10:58 neon1024 I am now mocking the service methods to return the right data and manually writing to the session, whereas I could attach the Session Auth to the Service, etc
# May 20th 2021, 10:57 neon1024 Yeah, it seems that trying to mock the service leads down a rather large rabbit hole