# |
Jul 20th 2021, 09:48 |
kupe3b |
thanks. which function can i call instead of `$article->published=1` for example (in case i pass the field name as an argument)? |
# |
Jul 20th 2021, 09:45 |
dereuromark |
field name can just be the argument, yes |
# |
Jul 20th 2021, 09:44 |
dereuromark |
that methods looks easily breakable, as publish can now also unpublish.. |
# |
Jul 20th 2021, 09:32 |
kupe3b |
hi, I have a very simple method to switch a yes/no field: ``` public function publish($id) { $article = $this->Articles->get($id); $article->published=!$article->published; $this->Articles->save($article) }``` but how can i change it to accept the field name as an argument? `public function publish($id, $fieldName='published')` to be able to change state of the other yes/no fields from `articles` table? |
# |
Jul 20th 2021, 08:14 |
ndm |
What I ment was... don't use WSL, try a dedicated virtual machine. |
# |
Jul 20th 2021, 08:09 |
brandon |
I can't seem to find any error logs or anything so I am not sure where it is even getting stuck to try to remedy it. |
# |
Jul 20th 2021, 08:00 |
paolo.bragagni |
yes. it works rerunning bin/cake bootstrap install |
# |
Jul 20th 2021, 07:58 |
brandon |
Is there a way to make the changes without rector? |
# |
Jul 20th 2021, 07:55 |
rudy1976s |
@greg138 I have a fixture with a json field which contains some values: when I run the test on that table, the json field is not properly read |
# |
Jul 20th 2021, 07:48 |
paolo.bragagni |
(trying..) |
# |
Jul 20th 2021, 07:35 |
paolo.bragagni |
I have to rerun bin/cake bootstrap install ? |
# |
Jul 20th 2021, 07:30 |
ndm |
@brandon tag |
# |
Jul 20th 2021, 07:30 |
paolo.bragagni |
hi. I've updated from 3.0.1 to 3.1.1 and it doesnt find css |
# |
Jul 20th 2021, 07:30 |
ndm |
Try running it in a fresh linux based VM, from my experience that's your best chance. Rector is a little wimp that already breaks when it hears the wind blowing. |
# |
Jul 20th 2021, 07:27 |
ndm |
Rector not working? I am shooketh! SHOOKETH I say! |
# |
Jul 20th 2021, 07:06 |
slackebot2 |
--working-dir='/mnt/d/Programming/PHP/vintage-lib/src' '/mnt/d/Programming/PHP/vintage-lib/src'``` I have tried this both in and out of WSL. Not sure what it is doing or what I can check. Any ideas? |
# |
Jul 20th 2021, 07:06 |
slackebot2 |
Checking /mnt/d/Programming/PHP/vintage-lib/src/vendor/autoload.php -> Checking /mnt/d/Programming/PHP/vintage-lib/vendor/autoload.php -> Found /mnt/d/Programming/PHP/vintage-lib/vendor/autoload.php Running /mnt/d/Programming/PHP/upgrade/vendor/bin/rector process --dry-run --autoload-file='/mnt/d/Programming/PHP/vintage-lib/vendor/autoload.php' --config='/mnt/d/Programming/PHP/upgrade/config/rector/cakephp40.php' |
# |
Jul 20th 2021, 07:06 |
brandon |
Having issues with upgrading to 4.x. I am following the upgrade guide and I have gotten to the Rector portion. When I run the command `bin/cake upgrade rector --dry-run ../vintage-lib/src -v` (added `--dry-run` and `-v` to see if I get any output at all). This is what I get and it just hangs here: ```$ bin/cake upgrade rector --dry-run ../vintage-lib/src -v Detecting autoload file for /mnt/d/Programming/PHP/vintage-lib/src -> |
# |
Jul 19th 2021, 19:38 |
kevin.pfeifer |
definitely handy when it comes to “heavier” tasks which can’t be done (quickly enough) inside a normal web request ;) |
# |
Jul 19th 2021, 19:37 |
sebastiansperandio093 |
I will check it! |
# |
Jul 19th 2021, 19:37 |
sebastiansperandio093 |
ohh I saw it before! thanks! |
# |
Jul 19th 2021, 19:34 |
kevin.pfeifer |
I think you would definitely benefit from a queue system where you add your internal “process the payment updates” to an async background job while your main response delivers your 200. I would recommend https://github.com/dereuromark/cakephp-queue :P |
# |
Jul 19th 2021, 19:30 |
dereuromark |
those sound like 2 different requests, which at least one of them is a async (queue background) task. |
# |
Jul 19th 2021, 19:30 |
alamnaryab |
@greg138 :+1: |
# |
Jul 19th 2021, 19:29 |
slackebot2 |
do your job (for example, update your db with the payment updates) |
# |
Jul 19th 2021, 19:29 |
sebastiansperandio093 |
@kevin.pfeifer not exactly....they are just notifying me when a payment status is updated. So they asking me a notification URL to send 2 parameters....i.e: https://www.domain.com?topics=paymentsandid=123456 they have a retry process for these notifications. If you dont response 200 after 22 seconds (I know it is toooo time), they have a retry schedule. This is why they recommend that you respond 200 first and then |
# |
Jul 19th 2021, 19:23 |
greg138 |
Then, `->contain(['StudentTransports.RouteStops.TransportRoutes'])` would give you what you're looking for? |
# |
Jul 19th 2021, 19:22 |
alamnaryab |
yes |
# |
Jul 19th 2021, 19:22 |
greg138 |
@alamnaryab, your RouteStops table is associated with both StudentTransports and TransportRoutes? |
# |
Jul 19th 2021, 19:20 |
kevin.pfeifer |
@sebastiansperandio093 so your API requires a 200 (or 201) response as a “yea, got it, I’m working on it” and at a later point another 200 after its done? You can’t send 2 responses to 1 request, how should that work? I think you misunderstand the API documentation. |
# |
Jul 19th 2021, 19:14 |
sebastiansperandio093 |
you could use "use" |
# |
Jul 19th 2021, 19:12 |
slackebot2 |
StudentTransports.route_stop_id here //bcz without condition it is showing all records of RouteStops return $q->where(['RouteStops.id'=> /*????**/]); } ] )->first();``` or any other better way to get multi level nested contained queries |
# |
Jul 19th 2021, 19:12 |
alamnaryab |
Hi is it possible to access proprty of parent Model in contained model ```$student = $this->Students->find() ->where(['Students.id' => $id]) ->contain( [ 'StudentTransports', 'StudentTransports.TransportRoutes', 'StudentTransports.TransportRoutes.RouteStops'=>function($q){ //can I access |
# |
Jul 19th 2021, 19:10 |
sebastiansperandio093 |
I could omit this recommendations as a B plan |
# |
Jul 19th 2021, 19:09 |
sebastiansperandio093 |
is an payment gateway API, and it is sending notifications about pending payments and it expects a 200 status code. |
# |
Jul 19th 2021, 19:08 |
sebastiansperandio093 |
yes I totally agree about it is a bad design, but API documentation recommends send a response before working. |
# |
Jul 19th 2021, 19:04 |
dereuromark |
you can (and should) return the response instead. And then maybe a afterFilter callback or middleware could still be applied. not sure. but either way, this sounds like a bad design. |
# |
Jul 19th 2021, 18:58 |
kevin.pfeifer |
well what is the reason that it should actually happen after the response and not before? |
# |
Jul 19th 2021, 18:55 |
sebastiansperandio093 |
response code should be 200 or 201 |
# |
Jul 19th 2021, 18:55 |
sebastiansperandio093 |
it doesnt work |
# |
Jul 19th 2021, 18:55 |
sebastiansperandio093 |
```$this->response = $this->response->withStatus(201); $this->response->send(); echo 'hello';exit;``` |