# |
Jun 18th 2021, 01:56 |
davinci |
I'm not sure either. :) Hoping someone here might know |
# |
Jun 18th 2021, 01:50 |
bmudda |
Not sure you can create migration snapshot for single table. You might have to write it manually. |
# |
Jun 18th 2021, 01:46 |
davinci |
@bmudda that seems to be talking about an entire snapshot, not a single table migration |
# |
Jun 18th 2021, 01:45 |
bmudda |
@davinci https://book.cakephp.org/migrations/2/en/index.html#generating-migrations-from-an-existing-database |
# |
Jun 18th 2021, 01:20 |
davinci |
(via CLI, not just by looking at it :) |
# |
Jun 18th 2021, 01:16 |
davinci |
Can I create a migration file from an existing table? |
# |
Jun 17th 2021, 18:41 |
kevin.pfeifer |
@joey.mukherjee well I was just referring to a belongsToMany connection, but if you are happy saving the json in your column then go for that :) |
# |
Jun 17th 2021, 18:30 |
joey.mukherjee |
That is what I want... Neat! I'm not sure why it says something about time zones in the beginning. Thank you for the pointer! |
# |
Jun 17th 2021, 18:26 |
admad |
https://book.cakephp.org/4/en/orm/associations.html#using-the-through-option |
# |
Jun 17th 2021, 18:25 |
admad |
s/file type/field type |
# |
Jun 17th 2021, 18:25 |
admad |
https://book.cakephp.org/4/en/orm/saving-data.html#saving-complex-types |
# |
Jun 17th 2021, 18:24 |
joey.mukherjee |
@ndm I do have a junction table! Can I use that somehow? @admad That sounds useful! Is there a routine in the middle where I can modify the input/output? How do I set the file type in the schema anyway? Is that a MySQL thing? I am converting from old saved data to my new more efficient save that I would like to modify the data a bit... |
# |
Jun 17th 2021, 18:19 |
admad |
"I save them as a json_encoded string in the database" Set the file type to "json" in table's schema, then cake will handle the string to array and array to string conversion for you |
# |
Jun 17th 2021, 18:17 |
kevin.pfeifer |
@joey.mukherjee so you don’t have a junction table which connects your main table with the “other” table? |
# |
Jun 17th 2021, 18:15 |
kevin.pfeifer |
I also learned new things :) |
# |
Jun 17th 2021, 18:15 |
kevin.pfeifer |
@ndm :clap: |
# |
Jun 17th 2021, 18:11 |
alamnaryab |
also thanks to @kevin.pfeifer and @admad |
# |
Jun 17th 2021, 18:09 |
alamnaryab |
@ndm You are great Today in few hours I learnt too much I would like to be in your touch to learn more |
# |
Jun 17th 2021, 18:02 |
joey.mukherjee |
I have an entity which needs an array of other entities. I save them as a json_encoded string in the database. When I load them, I want to decode the string and create all the entities. Where is the right place to do that in CakePHP? Do I create a routine in the entity of what is saved or is there something that is called whenever I retrieve/find something in the table routines? |
# |
Jun 17th 2021, 16:14 |
ndm |
The easiest solution for you might be a redirect route (https://book.cakephp.org/4/en/development/routing.html#redirect-routing), given that you want to use use a fixed default language like in your middleware snippet, then it would just be a matter of something like `$routes->redirect('/', '/en');` |
# |
Jun 17th 2021, 16:06 |
admad |
If you know what you are doing, no; but since you are at this for days/weeks that doesn't seem to be case for you. |
# |
Jun 17th 2021, 16:04 |
alamnaryab |
@admad in this implementation I am not using that plugin will it be difficult to do it without plugin? |
# |
Jun 17th 2021, 15:57 |
admad |
https://github.com/admad/cakephp-i18n#i18nmiddleware |
# |
Jun 17th 2021, 15:52 |
alamnaryab |
what would be better event or method where I can put this redirect? app::beforeFilter()? |
# |
Jun 17th 2021, 15:50 |
ndm |
btw, if `/` would be the only route that would have no language parameter, then I would press even harder on implementing a redirect solution, eg redirect `/` to `/default-or-browser-language` |
# |
Jun 17th 2021, 15:49 |
ndm |
That example of course won't cover anything that you might want to in your app, you need to take a deep look at how routing works, otherwise you'll get stuck over and over again. You can connect `/` to whatever you want it to point to, like here in the first example https://book.cakephp.org/4/en/development/routing.html: `$routes->connect('/', ['controller' => 'Articles', 'action' => 'index']);` |
# |
Jun 17th 2021, 15:44 |
alamnaryab |
that routes.php is like electric wires for me :,( what should I add at which line of this code https://cakesf.slack.com/archives/C053DPNGT/p1623931730446100 |
# |
Jun 17th 2021, 15:41 |
ndm |
Yeah, the error happens earlier, as suspected, it's missing route error... eg there is no route connected for `/` (without language parameter). |
# |
Jun 17th 2021, 15:40 |
alamnaryab |
RoutingMiddleware is there but mine is not there named: DefaultlngMiddleware |
# |
Jun 17th 2021, 15:37 |
ndm |
You check the stacktrace. If you don't even reach the middleware, then I guess it's a missing route error. |
# |
Jun 17th 2021, 15:36 |
alamnaryab |
How can I check where it originates from I made the param overwritten to english in all cases, it is working because now for `en` and `ar` both is is showing english but this MiddleWare is not being executed when there is not language param |
# |
Jun 17th 2021, 15:33 |
ndm |
Should work fine when placed afterwards with regards to be parameter being added... I'd again press on checking where exactly the error originates from then, it doesn't sound like it stems from a URL array missing the parameter. |
# |
Jun 17th 2021, 15:31 |
alamnaryab |
also tried before RoutingMiddleware even the 1st one |
# |
Jun 17th 2021, 15:29 |
alamnaryab |
as suggested by Mr @ndm after RoutingMiddleWare |
# |
Jun 17th 2021, 15:24 |
ndm |
But yeah... actually, if you put it _before_ the routing middleware, the parameter would get overwritten. |
# |
Jun 17th 2021, 15:24 |
kevin.pfeifer |
i would never |
# |
Jun 17th 2021, 15:24 |
ndm |
Now don't you date to proof my statement wrong :) |
# |
Jun 17th 2021, 15:21 |
kevin.pfeifer |
@alamnaryab have you added your DefaultlngMiddleware before the RoutingMiddleware? |
# |
Jun 17th 2021, 15:18 |
ndm |
It should be. It could theoretically be misplaced order wise, but that should not affect the parameter being added. That error looks like it's not referring to a URL array. Where exactly in the code does it originate from? |
# |
Jun 17th 2021, 15:16 |
alamnaryab |
yes it is `ResponseInterface` but looks like language param is still not added as I am still getting error `A route matching "/" could not be found.` if is not enough that debug() and exit is working in this class for adding maddleware? |
# |
Jun 17th 2021, 15:14 |
ndm |
That snippet there looks like it should generally work. If nothing is being set, then maybe the middleware hasn't been added (correctly). |