Log message #4124941

# At Username Text
# Mar 14th 2018, 13:05 narendravaghela and now I am struggling with that sql query in ORM :slightly_smiling_face:
# Mar 14th 2018, 13:04 lorenzo Yes
# Mar 14th 2018, 13:02 narendravaghela is it possible using single sql query?
# Mar 14th 2018, 13:01 narendravaghela my problem is, I have a TimeLogs table. I want to show all rows in table format, but also want to show the total logged hours for particular date
# Mar 14th 2018, 13:01 narendravaghela it still returns 11 rows
# Mar 14th 2018, 13:01 narendravaghela I tried to prepare a native sql query without using ORM to check whether if it works or not ``` SELECT si1.* FROM time_logs AS si1 JOIN (SELECT id, sum(id) FROM time_logs GROUP BY date) AS si2 ON si1.id = si2.id ```
# Mar 14th 2018, 12:59 lorenzo and did you investigate where that error comes from?
# Mar 14th 2018, 12:53 narendravaghela @pierre-baptiste.varle use like `Router::url('http://www.google.com')`
# Mar 14th 2018, 12:50 pierre-baptiste.varle can we use Router::url() to generate link to external website (I would like to use this to manage query options of url)
# Mar 14th 2018, 12:49 narendravaghela it returns error `Method newExpr does not exist`
# Mar 14th 2018, 12:49 narendravaghela when I tried `innerJoin(['TL' => $subQuery]`
# Mar 14th 2018, 12:47 lorenzo There is no subquery there
# Mar 14th 2018, 12:47 lorenzo Of course
# Mar 14th 2018, 12:47 narendravaghela but this is not the desired sql output, it returns only 11 rows, but there are total 41 rows
# Mar 14th 2018, 12:46 narendravaghela @lorenzo I ended up with https://gist.github.com/narendravaghela/9f706ed532403f478d6bcd1f4abac527
# Mar 14th 2018, 12:21 dakotairene :wave:
# Mar 14th 2018, 12:18 narendravaghela `Method newExpr does not exist `
# Mar 14th 2018, 12:16 narendravaghela trying..
# Mar 14th 2018, 12:16 lorenzo `innerJoin(['TL' => $subQuery], function ($q) { return return $q->newExpr()->equalFields('TL.id', 'TimeLogs.id'); })`
# Mar 14th 2018, 12:15 narendravaghela okay
# Mar 14th 2018, 12:15 lorenzo start by adding those
# Mar 14th 2018, 12:15 lorenzo well, you are missing the `having` and I told you to use `innerJoin`
# Mar 14th 2018, 12:15 narendravaghela this is native sql query to achieve all rows with groupby
# Mar 14th 2018, 12:14 narendravaghela ```sql SELECT si1.* FROM sold_items AS si1 JOIN (SELECT member_id FROM sold_items GROUP BY member_id HAVING SUM(amount) > 50) AS si2 ON si1.member_id = si2.member_id
# Mar 14th 2018, 12:14 narendravaghela I am little bit confused here, not getting an idea of working solution
# Mar 14th 2018, 12:13 lorenzo why `leftJoinWith` ?
# Mar 14th 2018, 12:12 narendravaghela that is the goal
# Mar 14th 2018, 12:12 narendravaghela There is a TimeLogs table, I want all rows and also want the sum of hours group by particular date
# Mar 14th 2018, 12:12 narendravaghela @lorenzo here is gist - https://gist.github.com/narendravaghela/9f706ed532403f478d6bcd1f4abac527
# Mar 14th 2018, 12:08 narendravaghela let me try myself, or I will share my code
# Mar 14th 2018, 12:07 lorenzo the last `where(...)` could be something like `where(function ($q) { return $q->newExpr()->equalFields('c1.id', 'Things.id')})`
# Mar 14th 2018, 12:07 narendravaghela @lorenzo thanks
# Mar 14th 2018, 12:06 lorenzo that’s how you join a subquery on the same contained table…. or whatever table
# Mar 14th 2018, 12:05 lorenzo @narendravaghela `$usersTable->find()->contain('Things')->innerJoin(['c1' => $commentsTable->find()->where(…)])->where(…)`
# Mar 14th 2018, 12:04 xinobi lorenzo exactly
# Mar 14th 2018, 12:03 lorenzo password hashers use a lot of cpu
# Mar 14th 2018, 12:02 xinobi I seriously don't understand why it should be spent cpu processing time with $hasher = $this->passwordHasher(); within _findUser method comments say: //helps mitigate timing attacks that are attempting to find valid usernames. Why not using a modeless validator?
# Mar 14th 2018, 12:01 ghoritrilochan neon 1024 any idea for this problem
# Mar 14th 2018, 12:00 narendravaghela how can I achieve the same query with Cake ORM?
# Mar 14th 2018, 12:00 narendravaghela https://stackoverflow.com/questions/28158083/mysql-group-and-total-but-return-all-rows-in-each-group?rq=1
# Mar 14th 2018, 11:59 narendravaghela right, and for that I need subquery