Logs for #cakephp

Page 9 of 36,196, showing 100 records out of 3,619,517 total, starting on record 801, ending on 900

# At Username Text
# Jul 15th, 12:08 mikelthewebguy Hi Guys
# Jul 15th, 12:05 Naino Hi! I'm trying to use `Route->setHost()` without success. I created to same routes with two different host. Those two host are different from my local host. For example I put `app.com`, `app.fr` and my local testing host is `app.local`. Well the first route that is declared is matching, whereas `app.com <> app.local`. Is that normal behavior ? Mayb
# Jul 15th, 12:05 Naino e I didn't understand how `setHost` works. Thanks.
# Jul 15th, 11:56 conehead Hm. Anyone got any idea how to paginate/sort by data that can not be generated via query?
# Jul 15th, 11:41 conehead You're welcom
# Jul 15th, 11:41 felix.robaglia not putting all data in a single view, but I need the data from 3 different tables in order to display the informations i want. ^^ Anyways, thanks a lot for your help @conehead !
# Jul 15th, 11:37 conehead Although I do not know what exactly you are planning to do...I guess putting all data into a single view is never a good idea.
# Jul 15th, 11:36 conehead When you created a new project have a look at the `PagesController` and the `routes.php`. It says if you basically just enter the main url, redirect to the PagesController with the action index
# Jul 15th, 11:35 conehead Yes right. You always need one controller that gathers all the data you need and you will (probably, not always) need one view to display all your data
# Jul 15th, 11:32 felix.robaglia Okay thanks, this helps a lot. But then I still need one 'parent' controller having an index() function retrieving all the data i need from tables, right ?
# Jul 15th, 11:30 conehead you have to differentiate between tables and controllers. A controller can access several tables and then passes the data to one single view
# Jul 15th, 11:29 conehead 2 possible ways: either you create several controllers and load the data via ajax/json after the main page has loaded or your controller loads other models and sets it's data. ``` $this->loadModel('Users'); $this->loadModel('Comments'); $this->set([ 'users' => $this->Users->find(), 'comments' => $this->Comments->find(), ]); ```
# Jul 15th, 11:24 felix.robaglia But if my app is just a onepage using data from many tables, how should I proceed then ?
# Jul 15th, 11:21 conehead @felix.robaglia Why would you want to do that? One controller(action) should be responsible for one view
# Jul 15th, 11:19 felix.robaglia Hello, what is the best way to create a view that uses variables set from multiple controllers ?
# Jul 15th, 11:09 lubos Yes it has hasMany association, it might be it. Thanks I'll check the debug kit sql log
# Jul 15th, 10:42 neon1024 Check the DebugKit SQL log
# Jul 15th, 10:42 neon1024 Does the entity you’re saving have a hasMany association? You might find there is a transaction here and more than one query is being executed
# Jul 15th, 10:41 neon1024 Might be different events
# Jul 15th, 10:38 lubos Well can't find any another event, trying to catch it by object name. See screenshot, this is particular case where left hand side code is contorlller, right hand side listener. The left debug part is showing 1st dirty fields in controller, 2nd dirty fields at the listener
# Jul 15th, 10:33 neon1024 Perhaps I’m thinking of formatResults
# Jul 15th, 10:33 neon1024 Isn’t this what map() and reduce() are for? Or am I thinking of another event
# Jul 15th, 10:33 neon1024 Perhaps the event priority is lower than another afterSave and that is changing your data
# Jul 15th, 10:31 lubos The problem that dirty is saying too many properties have changed => more dirty fields than I expect and part of code where I am using `isDirty` is wrong because of that
# Jul 15th, 10:30 neon1024 Could it be that properties in the associated entities have not changed, so will not be saved?
# Jul 15th, 10:29 neon1024 Perhaps change to `Log::debug()` instead of dumping
# Jul 15th, 10:29 neon1024 Are you calling exit?
# Jul 15th, 10:29 lubos in the controller where this the model -> save which fires this particular `Model.afterSave` I debug entity and dirty fields are just fine before save action
# Jul 15th, 10:27 lubos Morning all in the listener I am listening to the `Model.afterSave` and trying to debug particular entity. I can see there are too many dirty fields (saving less for the action) but for got sake I can't find reason why (can't see any more model -> save in the app). Any hint how to debug dirty fields?
# Jul 15th, 10:13 neothermic you been sword fighting again? :P
# Jul 15th, 08:49 challgren The scar is horse shoe shaped the whole knuckle pretty much
# Jul 15th, 08:48 neon1024 About the feeling, and perhaps the scar too
# Jul 15th, 08:48 neon1024 That’s good news :slightly_smiling_face:
# Jul 15th, 08:48 challgren Ahh good, got feeling back a couple weeks ago, nice big ol scar on it
# Jul 15th, 08:48 neon1024 Hey @challgren! How’s the hand these days?
# Jul 15th, 08:47 matt Great - thanks for the advice
# Jul 15th, 08:47 challgren Thats what I was gonna say have different validation sets
# Jul 15th, 08:46 neon1024 Or I would create a validation sub-set and use that conditionally
# Jul 15th, 08:46 neon1024 I’d probably write a custom rule, and use the context to work out if I wanted the rule to run or not
# Jul 15th, 08:41 matt Morning, is it possible to skip/disable an individual rule when saving an entity? (rather than disabling all rules with checkrules=false). thanks
# Jul 15th, 08:34 conehead But with meta/pagination it definately makes sense to use a top level dimension
# Jul 15th, 08:26 neon1024 I should follow that up actually and get some discussions underway on the points people raised
# Jul 15th, 08:26 neon1024 Well I wrote the RFC for our own internal standard, and I did reference some parts of that spec, but we felt it was a bit overkill
# Jul 15th, 08:25 conehead @neon1024 Exactly what I expected! Everyone is saying something else ;) But in the end... https://jsonapi.org/ suggests using envelopes. Although this might not be a reliable source
# Jul 15th, 08:18 conehead Is it? I'll do a quick research
# Jul 15th, 08:17 neon1024 Most of the ones I’ve read about implement a generic keyword like ‘data’, ‘results’ or similar
# Jul 15th, 08:16 neon1024 Usually to differentiate data from meta, pagination and other data which might be in the response
# Jul 15th, 08:16 neon1024 Most standards implement a top level dimension
# Jul 15th, 08:16 neon1024 I think it’s the opposite actually
# Jul 15th, 08:15 conehead Okay thank you. Gonna try that. Was hoping this was an option I could pass to `_serialize`. I think this is quite common for REST apis
# Jul 15th, 08:13 neon1024 You could drop serialize and use a json template to customise the output if you wanted
# Jul 15th, 08:13 conehead Anyone using lots of json response? Can I get rid of the top level object with a single line? ` '_serialize' => ['users'],` always creates the `users` property. But as I only got this one property, I want to get rid of it
# Jul 15th, 08:11 conehead ;)
# Jul 15th, 08:07 neon1024 Or Fridays Dave didn’t at any rate :slightly_smiling_face:
# Jul 15th, 08:07 neon1024 Looks like I have no idea how to use `in_array()` :flushed:
# Jul 15th, 07:47 neon1024 Oh yes of course ndm mentioned execution order, I should check that
# Jul 15th, 07:47 neon1024 I tried using `$this->Auth->setConfig('unauthorizedRedirect', ['prefix' => 'admin', 'controller' => 'Dashboards', 'action' => 'home']);` and it doesn’t seem to work
# Jul 15th, 07:47 neon1024 So, rolling back to Monday. How can I set the Auth unauthorizedRedirect dynamically?
# Jul 15th, 02:26 markstory @davorminchorov Also check php’s memory_limit ini value as it can be different than the container memory.
# Jul 15th, 01:58 nuzulfikrie hi all, any solution that checks for number of login of user ? limit only one browser session per tab - if we have multiple of sessions, will redirect the user to the tab that user chooses. similar like whatsapp web
# Jul 14th, 19:32 ndm @davorminchorov Install xdebug or something similar that will provide you with a proper stacktrace for fatal errors.
# Jul 14th, 19:01 davorminchorov Anyone here ever got the error: `Allowed memory size of 786432000 bytes exhausted (tried to allocate 16384 bytes)`? How can I debug it to figure out why it is happening? I have allocated 4 GB on my docker instance but it seems that it is not enough. I am assuming that it has to do with bad application code.
# Jul 14th, 16:14 roberto.conterosito You're not wrong, probably I've to rethink this specific scenario.
# Jul 14th, 16:12 admad If the join table has extra fields than usually the answer to all problems is use use hasMany with the join table instead.
# Jul 14th, 16:11 roberto.conterosito Anyway, really thank you very much for you availability guys! :slightly_smiling_face:
# Jul 14th, 16:08 roberto.conterosito @admad I'm working on porting of an old application (written in Cake 2.*) with it's own workflow system, necessary to handle some audit operation on every table, and this column is required (anyway I've multiple columns on this many-to-many, is a custom scenario that I've to manage in this case).
# Jul 14th, 16:07 admad @roberto.conterosito if the join table doesn't have extra fields besides the fK fields what's the point of extra primary key field
# Jul 14th, 16:06 roberto.conterosito In my scenario I'm using "append" saveStrategy. But I've used "replace" too to do more tests, the behaviour is always the same.
# Jul 14th, 16:05 admad For append strategy yes but not for default replace
# Jul 14th, 16:05 roberto.conterosito Yes but I've introduced a primary key, different from the "user_id" and "role_id" key pair, necessary for other scopes. Anyway I think I've found another workaround (just for now). Every BTM has it's own collection and every Item is own errors, I will merge save errors with collection's single items errors to display the global situation about a single save transaction.
# Jul 14th, 16:04 ndm I don't think the association prevents that, the marshaller will probably because of duplicate IDs, but other than that it should work... also when using the append strategy it could happen.
# Jul 14th, 16:01 admad You won't be able to save duplicate pairs even if you want using the belongsToMany association
# Jul 14th, 16:00 admad I am pretty sure belongs to many fK pairs are unique by default.
# Jul 14th, 15:59 roberto.conterosito @ndm thank you for your detailed answer! Anyway I've tried this solution but I'm still not able to catch errors (always empty getErrors() received from my entity). Now I'm going to debug the global validation process hoping to found a good solution (I'd like to use validation out from "rule builder").
# Jul 14th, 15:37 ndm @roberto.conterosito Currently that only works for non-atomic operations (I don't really know the reasoning behind that, @lorenzo may know), and for entities where the `_joinTable` property already exists and holds an entity itself, which is usually the case when you're creating/updating additional join table data. When you just associate a `belongsToMany` record (being it a new, or an existing one), then the ORM will implicitly create new join
# Jul 14th, 15:37 slackebot table entities (https://github.com/cakephp/cakephp/blob/3.8.1/src/ORM/Association/BelongsToMany.php#L831-L834), they will hold possible errors, but these entities are being discarded on saving failure (https://github.com/cakephp/cakephp/blob/3.8.1/src/ORM/Association/BelongsToMany.php#L851-L857). I think you can workaround this by injecting `_joinData` keys with empty arrays in your data before patching, that way the ORM doesn't have to create the
# Jul 14th, 15:37 slackebot entities in the saving process. Like: ``` [ 'username' => 'foo', // ... 'roles' => [ [ 'id' => 1, '_joinData' => [] ], [ 'id' => 2, '_joinData' => [] ], // ... ], ] ```
# Jul 14th, 12:58 roberto.conterosito Hi, I'm trying to see errors associated to my "belongsToMany" rule. I've "Users, UsersRoles and Roles" tables. In the "UsersRolesTable" I've added new rule, isUnique, based on "role_id" and "user_id". When I try to save new users with duplicated role_id/user_id, save fails but $user->getErrors() is empty. I'm not able to understand how to retrieve belongsToMany entity errors.
# Jul 14th, 12:36 roberto.conterosito Hi, did you solve this problem? I'm looking for a solution related to this issues. I'm not able to understand how to get errors from BTM. In details, I'm trying to get errors from "isUnique" role based on foreign keys fields.
# Jul 14th, 09:33 ndm @mrfeedback If you want to output custom, non-view based content, then prepare and return a response instance. If you want to use views but invoke rendering manually, set `$this->autoRender = false;`, or return the response returned by `$this->render()`. https://book.cakephp.org/3.0/en/controllers/request-response.html#response https://book.cakephp.org/3.0/en/controllers.html#rendering-a-view
# Jul 14th, 07:57 mrfeedback `$this->viewBuilder()->enableAutoLayout(false);` this still execpts an action template
# Jul 14th, 07:47 mrfeedback it seems like i am blind. i do not find a reference on how to avoid rendering a template in a controller action. could me somebody please share the link
# Jul 14th, 07:30 mrfeedback @niel.archer thanks. yeah i did then a similar approach. then i realized that data in table was encoded twice which then lead to strange results. by saying that -> i now need to convert data within the existing tables in order to obtain usable results
# Jul 13th, 23:05 niel.archer i.e. create a new entry in your DataSources for latin1 and only use that connection for the tables affected
# Jul 13th, 23:04 niel.archer @mrfeedback No idea about per table, but you could use a separate connection with the encoding set to what you need for that connection.
# Jul 13th, 19:34 mrfeedback is there a way to define encoding per table? in my case my application accesses data from an older app which saved content in latin 1 when i get it with the new app it retrives it as utf8 which is broken. so i need to fetch it in latin1 i guess. now i want to fetch it in latin1 and then store it in utf8 in another table. any ideas?
# Jul 13th, 03:33 bgrinter Hi - I'm trying to use the csvView and I've following the instructions in the readme but I'm getting `The layout file Layout/csv/default.ctp can not be found or does not exist` Added to routes.php `Router::extensions('csv');` Application.php ` $this->addPlugin('CsvView');`
# Jul 13th, 03:07 challgren CakePHP 3.8.1 released!!! https://github.com/cakephp/cakephp/releases/tag/3.8.1
# Jul 12th, 21:10 noel Are those current? I checked a few months ago and those training pages were all broken on the CakePHP site.
# Jul 12th, 19:16 sjorgefabi How are the Cakephp training courses carried out? Do you have downloadable videos and subtitles?
# Jul 12th, 17:06 admad @daniel.upshaw validation is already decoupled from models. It's even has its separate package https://github.com/cakephp/validation
# Jul 12th, 16:49 ricksaccous @daniel.upshaw you can already use validators with arrays
# Jul 12th, 16:11 daniel.upshaw Otherwise it's some untapped potential
# Jul 12th, 16:11 daniel.upshaw I think it would be worth a refactor to decouple the validation elements from the models, keeping it API-compatible
# Jul 12th, 16:06 daniel.upshaw Eg `(new Validator(['rule' => 'latitude']))->validate($inputVar)`
# Jul 12th, 16:06 daniel.upshaw I know that there are built-in PHP functions like `filter_var` and other ways, but the Validator fundamental system should ideally be able to be used outside the context of models
# Jul 12th, 16:02 daniel.upshaw Whoops, I had the wrong library there lol
# Jul 12th, 15:59 daniel.upshaw There is the concept of "shapes"
# Jul 12th, 15:58 daniel.upshaw Perhaps like `(new Validator(['rule' => 'int']))`
# Jul 12th, 15:58 daniel.upshaw That's the `Validator` class constructor