# |
Jun 3rd 2021, 07:05 |
paolo.bragagni |
How to search between date with https://github.com/FriendsOfCake/search ? and how to set date and numbers in italian (I mean dd/gg/YYYY) in search plugin? |
# |
Jun 3rd 2021, 04:57 |
y.teruyacookie |
@ndm Thank you very much! I thought it is the problem about memory overload. Simply I make a mistake about how to use finder method. I have solved this problem finally. Thank you very much!! |
# |
Jun 3rd 2021, 00:47 |
slackebot |
for each of your `Documents` results. |
# |
Jun 3rd 2021, 00:47 |
slackebot |
https://stackoverflow.com/questions/30241975/how-to-limit-contained-associations-per-record-group/30270675#30270675, for single results you can possibly hack something in using association conditions. Other than that you don't have too many options, the next best thing would then be to manually load and inject the associated results in a result formatter, either using similar partitionable windows, or god forbid, by issuing one query |
# |
Jun 3rd 2021, 00:47 |
ndm |
@etibor Because limiting associations isn't supported out of the box. `hasMany` and `belongsToMany` associations are being retrieved in _one_ separate query, so if you apply a limit to it, that query will only receive one record for _all_ your `Documents`, not for _each one_ of them. Try https://github.com/icings/partitionable/, or have a look at the examples in |
# |
Jun 2nd 2021, 22:42 |
etibor |
why i can not get only one element from the associated Model: `'PrivateThesises.PrivateThesisUrlFiles' => function($q) {` `$q` `->where(['Documents.class'=>'Types'])` `->order('UrlFiles.created ASC')` `->limit(1)` `;` `return $q;//->first() or last() does not works` `},` |
# |
Jun 2nd 2021, 22:25 |
ndm |
tumbleweed |
# |
Jun 2nd 2021, 22:05 |
etibor |
hello everyone |
# |
Jun 2nd 2021, 15:50 |
duchdamian |
thanks for your help, have a good day! |
# |
Jun 2nd 2021, 15:49 |
slackebot |
'/var/www/html/src'` |
# |
Jun 2nd 2021, 15:49 |
duchdamian |
oh I see what's up, so the --config it's pulling into rector is actually a php file and not a yaml file, the following command worked if I point it to the yaml directly. It's an issue with the upgrade tool I believe `/cake_upgrade/vendor/bin/rector process --autoload-file='/var/www/html/vendor/autoload.php' *--config='/cake_upgrade/vendor/rector/rector/config/set/cakephp/cakephp40.yaml'* --working-dir='/var/www/html/src' |
# |
Jun 2nd 2021, 15:47 |
kevin.pfeifer |
yea, i mean just skip rector |
# |
Jun 2nd 2021, 15:47 |
duchdamian |
that error comes from rector not cake and I do have all logging enabled |
# |
Jun 2nd 2021, 15:46 |
kevin.pfeifer |
@duchdamian I have heard of many times where the rector upgrade tool was pretty finicky to setup I would just perform the "pure" composer update, set the ```'Error' => [ 'errorLevel' => E_ALL, ]``` and go from one error to the next |
# |
Jun 2nd 2021, 15:44 |
duchdamian |
CakePHP upgrade tool (master) https://github.com/cakephp/upgrade CakePHP skeleton app (3.x) https://github.com/cakephp/app/tree/3.x Followed the 4.0 upgrade guide (https://book.cakephp.org/4/en/appendices/4-0-upgrade-guide.html) |
# |
Jun 2nd 2021, 15:43 |
kevin.pfeifer |
https://github.com/FriendsOfCake/awesome-cakephp#auditing--logging |
# |
Jun 2nd 2021, 15:42 |
slackebot |
~tell iquana about awesome |
# |
Jun 2nd 2021, 15:42 |
slackebot |
Command sent from Slack by kevin.pfeifer: |
# |
Jun 2nd 2021, 15:39 |
thomas078 |
need to do audit trail tool. Is there a proper plugin or just to write myself? |
# |
Jun 2nd 2021, 15:12 |
slackebot |
'/var/www/html/src' [ERROR] Mapping values are not allowed in multi-line blocks in "/cake_upgrade/config/rector/cakephp40.php" at line 1 (near "<?php"). Rector applied successfully``` |
# |
Jun 2nd 2021, 15:12 |
slackebot |
bin/cake upgrade rector --rules cakephp40 /var/www/html/src -v Detecting autoload file for /var/www/html/src -> Checking /var/www/html/src/vendor/autoload.php -> Checking /var/www/html/vendor/autoload.php -> Found /var/www/html/vendor/autoload.php Running /cake_upgrade/vendor/bin/rector process --autoload-file='/var/www/html/vendor/autoload.php' --config='/cake_upgrade/config/rector/cakephp40.php' --working-dir='/var/www/html/src' |
# |
Jun 2nd 2021, 15:12 |
duchdamian |
Hi everyone - I'm in beginning stages of converting an app from cake 3.x to 4.x and the cake upgrade tool (rector) returns an error what sounds to me like a yaml parsing error. I'm not sure if that's a right place to post this but if someone ran into this before or knows what the issue might be I could really use some help. Also getting the exact same results against 3.9 skeleton app. CLI running PHP 7.4 ```bash-5.0# |
# |
Jun 2nd 2021, 15:10 |
ndm |
https://book.cakephp.org/4/en/orm/retrieving-data-and-resultsets.html#custom-finder-methods |
# |
Jun 2nd 2021, 15:09 |
ndm |
@y.teruyacookie That's not how the `find()` method works, it only take two arguments, the first being the finder name, and the second being an array of options. Similarly finder methods also only take two arguments, the first being the query object, the second being the options array. |
# |
Jun 2nd 2021, 14:58 |
slackebot |
->where(function (QueryExpression $exp) use { return $exp->between('Models.created', '2021-04-01 00:00:00', '2021-04-10 00:00:00'); }) ->order([ 'Models.created' => 'ASC' ]) ->find('Contain'); }``` |
# |
Jun 2nd 2021, 14:58 |
slackebot |
index() { // output JSON file return $this->setDatas($begin, $end); } public function setDatas($begin, $end) { $datas = $this->Model->find('Datas'); $spreadSheets = $this->Component->toSpreadSheetDatas($datas); return $this->response->withType('application/json') ->withStringBody(json_encode($spreadSheets)); } src/Model/Table/ModelTable.php public function findDatas(Query $query) { return $query ->find('Fields') |
# |
Jun 2nd 2021, 14:58 |
slackebot |
select the fields (columns) we want from the table with the select method ->where(function (QueryExpression $exp) use ($begin, $end) { return $exp->between('Models.created', $begin, $end); }) ->order([ 'Models.created' => 'ASC' ]) ->find('Contain'); // Use contain method to join other tables as needed }``` `Code that does not cause memory overload` src/Controller/Api/Controller.php ```public function |
# |
Jun 2nd 2021, 14:58 |
slackebot |
$begin, $end); *2 // Format the data for output to a spreadsheet $spreadSheets = $this->Component->toSpreadSheetDatas($datas); // Store the data in the body of the response return $this->response->withType('application/json') ->withStringBody(json_encode($spreadSheets)); } // src/Model/Table/ModelTable.php public function findDatas(Query $query, string $begin, string $end) { *3 return $query ->find('Fields') // |
# |
Jun 2nd 2021, 14:58 |
slackebot |
loaded. If anyone knows, please let me know. Thanks in advance. `Code that goes over memory.` src/Controller/Api/Controller.php ```public function setDatas($begin, $end) { // Store the body data of the received POST request $begin = $this->request->getData('begin'); $end = $this->request->getData('end'); *1 // Get data from Model (same as ↓findDatas($this->Model, $begin, $end)) $datas = $this->Model->find('Datas', |
# |
Jun 2nd 2021, 14:58 |
slackebot |
usage goes up very high as soon as I add the parameter. Also, is there any way to avoid this memory error? (By the way, I tried to increase the memory_limit in php.ini to 1GB, but it still caused a memory error, even if I increased it to the spec value of my PC. In the following code, I tried to debug() at *1, *2, and *3, and I got memory overload errors except for *1, so I think the memory error occurs right after the findDatas is |
# |
Jun 2nd 2021, 14:58 |
slackebot |
... bytes exhausted”. (The error occurs even if I make the difference between $begin and $end in the code below very small. On the other hand, if I set the two arguments $begin and $end of findDatas in the Model to constants, the code will work without memory overload. On the other hand, if I set the two arguments $begin and $end of findDatas in the Model to constants, the code passes without memory overload. It seems that the memory |
# |
Jun 2nd 2021, 14:58 |
y.teruyacookie |
Hi, I need your help. ## Environment Mac OS, Chrome, CakePHP version 3 ## What I’m working on Implementing a function that receives the body of a POST request and returns a resource accordingly. ## What I want to do and what I want to solve I would like to write the following code to implement the function mentioned above, but when I run it, I get a memory overload error saying “Fatal error: Allowed memory size of |
# |
Jun 2nd 2021, 13:27 |
greg138 |
It could just as easily be argued that adding tags to a record *is* an update, and so it's doing exactly the right thing. So, I expect that removing the behavior when you don't want that to happen (whether because of this sort of thing or something else) is the right answer. |
# |
Jun 2nd 2021, 09:42 |
k4t |
thank you |
# |
Jun 2nd 2021, 09:42 |
k4t |
understand |
# |
Jun 2nd 2021, 09:40 |
philo.hamel |
and the theme is part of the view |
# |
Jun 2nd 2021, 09:39 |
philo.hamel |
that's the purpose of the helper: it's view context aware |
# |
Jun 2nd 2021, 09:37 |
k4t |
no... Assets class, with helpr this is ok... |
# |
Jun 2nd 2021, 09:36 |
philo.hamel |
using the helper? |
# |
Jun 2nd 2021, 09:36 |
k4t |
the same problem when it is also used directly in the view |
# |
Jun 2nd 2021, 09:34 |
philo.hamel |
unless there's a good reason to keep the view code in the entity, I'd try to move it into the view |