Log message #4228011

# At Username Text
# Feb 20th 2020, 15:55 spriz I would like to just tap into all existing crud logic about failed saves for an entity with 422 http response code etc
# Feb 20th 2020, 15:54 spriz I could do a Modelless Form AFAIK - but it just seems like a lot of work
# Feb 20th 2020, 15:53 spriz I find myself making controller actions with quite some logic in it if it's for REST API, and I need some other kind of validation than usual - do you guys have some neat tricks here?
# Feb 20th 2020, 13:43 challgren That table extends Tools\Table which extends Shim\Table
# Feb 20th 2020, 13:42 spriz Aha! Never seen that before! :)
# Feb 20th 2020, 13:41 challgren @spriz its the Shim plugin https://github.com/dereuromark/cakephp-shim/blob/master/src/Model/Table/Table.php
# Feb 20th 2020, 13:38 challgren Thats what I was looking for!
# Feb 20th 2020, 13:36 dereuromark https://www.dereuromark.de/2019/12/27/cakephp-and-heroku/ was all we needed to make it work.
# Feb 20th 2020, 13:36 challgren Hmmm from git?
# Feb 20th 2020, 13:35 dereuromark no docker, though. just normal heroku deploy.
# Feb 20th 2020, 13:35 challgren @dereuromark you have your sample docker stuff for building a Heroku deploy?
# Feb 20th 2020, 12:36 tomrwaller Thinking back over my tables/models earlier. I have three tables - [recommendations], [technologies] and [recommendations_technologies]. I want a recommendation to have one 'primary technology' and multiple 'associated technologies'. I thought I could do two associations to technologies on the RecommendationsTable using className but I'm struggling to save the associated technologies. Am I doing this this right?
# Feb 20th 2020, 12:34 spriz @dereuromark No no, I was just surprised that it works in 3.x - I have never seen the syntax before!
# Feb 20th 2020, 12:32 viraj.khatavkar going further, do we have some form of sync method for belongsToMany where in I can pass an array of ids and those are the ones which will be kept in the join table?
# Feb 20th 2020, 11:22 dereuromark I cant do everything on my own.
# Feb 20th 2020, 11:22 dereuromark all fine in 3.x code here. you are free to PR updates though :)
# Feb 20th 2020, 11:21 spriz `$actsAs`
# Feb 20th 2020, 11:21 spriz And this one? :O https://github.com/dereuromark/cakephp-sandbox/blob/master/plugins/Sandbox/src/Model/Table/SandboxPostsTable.php#L33-L36
# Feb 20th 2020, 11:21 spriz what sorcery is this one? :) :) https://github.com/dereuromark/cakephp-sandbox/blob/master/plugins/Sandbox/src/Model/Table/SandboxPostsTable.php#L41-L56 cake 2.x syntax?
# Feb 20th 2020, 11:19 dereuromark hmm, maybe the Tags behavior does this.. : ) ok, then you are probably right.
# Feb 20th 2020, 11:19 spriz Wat! I have had to add the `$this->belongsToMany('Roles')` and `$this->hasMany('UsersRoles')`
# Feb 20th 2020, 11:18 dereuromark you only need the manual one if you want to provide custom table and more logic.
# Feb 20th 2020, 11:18 dereuromark @spriz Shouldnt the HABTM relation auto provide the pivot table? afaik it does
# Feb 20th 2020, 11:18 spriz @viraj.khatavkar you will need to have `$this->hasMany('UsersRoles')` in `UsersTable` :)
# Feb 20th 2020, 11:18 dereuromark Yeah, in my case with tags the pivot table is setup as "tagged" - thus the idehelper added https://github.com/dereuromark/cakephp-sandbox/blob/master/plugins/Sandbox/src/Model/Table/SandboxPostsTable.php#L10-L11 , so $this->Tagged->updateAll() etc then.
# Feb 20th 2020, 11:13 viraj.khatavkar thanks, will see how that goes..
# Feb 20th 2020, 11:10 dereuromark usually $roles->roles_users etc, depending on your relation setup.
# Feb 20th 2020, 11:09 dereuromark usually you have access, and If you used IdeHelper to generate the annotations for IDE auto complete and discoverability, you find them even by just typing the first letter :)
# Feb 20th 2020, 11:09 dereuromark You need to go to the pivot table
# Feb 20th 2020, 11:07 viraj.khatavkar I am having a hard time thinking the syntax here. so would following work? - `$roles->users->updateAll()`? I don’t think so because it will update the users table right?
# Feb 20th 2020, 11:06 dereuromark atomic queries always work on any table.
# Feb 20th 2020, 11:05 dereuromark sure.
# Feb 20th 2020, 11:05 viraj.khatavkar Is it possible to run `updateAll` on the join table in a belongsToMany association? The join table doesn’t have it’s own model. Eg. I have a `roles` , `users` and `roles_users` tables. I want to bulk update on the `roles_users` table.
# Feb 20th 2020, 11:04 tomrwaller No worries - thank you for having a look anyway, much appreciated!
# Feb 20th 2020, 11:03 challgren Hmm sorry thats my only solution, don’t really know the forms that well
# Feb 20th 2020, 11:03 tomrwaller Thanks @challgren - I swapped out the input for the below but I'm still seeing the same behaviour. `echo $this->Form->input('associated_technologies_.ids', array(`                         `'type' => 'select',`                         `'multiple'=>'checkbox',`                          `'options' => $associatedTechnologies` `));`
# Feb 20th 2020, 10:58 challgren I think you need a ‘multiple’ => ‘checkbox’ there for associated_technologies
# Feb 20th 2020, 10:44 slackebot actually selected.
# Feb 20th 2020, 10:44 tomrwaller If I debug the data on the add the request looks like this: ```[ 'recommendation_group_id' => '1', 'name' => 'e1', 'recommendation' => 'e1', 'rationale' => 'e1', 'primary_technology_id' => '1', 'associated_technologies' => [ '_ids' => '4' ], 'assessments' => [ '_ids' => '2' ]``` I was expecting to see an array in _ids => 4 as I selected 4 entries in the select but it looks like it is giving a count, not a list of ids I
# Feb 20th 2020, 10:42 tomrwaller This is what I have in my add.php.
# Feb 20th 2020, 10:41 tomrwaller echo $this->Form->control('primary_technology_id', ['options' => $primaryTechnologies]);echo $this->Form->control('associated_technologies._ids', ['options' => $associatedTechnologies]);