Log message #4124947

# At Username Text
# Mar 14th 2018, 13:08 lorenzo From your previous gist it is obvious that newExpr exists, just that you are calling it on something else
# Mar 14th 2018, 13:08 narendravaghela okay, no problem, I will paste the current code if does not work, so you can review
# Mar 14th 2018, 13:07 lorenzo Just review it and fix whatever possible mistake I made when writing it.
# Mar 14th 2018, 13:07 lorenzo Currently on my phone so can’t help a lot more, but what I sent should be enough
# Mar 14th 2018, 13:06 narendravaghela can you help me preparing that with queryBuilder please?
# Mar 14th 2018, 13:05 lorenzo you need a join with a subquery
# 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