Re: how to generate this sql
Cake does not support HAVING but you can put it in the group as a string. Something like the following: $this-Timesheet-virtualFields = array( 'count_name' = 'COUNT(id)' ); $this-Timesheet-find( 'all', array( 'fields' = array( 'Timesheet.user_id', 'Timesheet.date', 'count_name' ), 'group' = 'Timesheet.user_id, Timesheet.date HAVING count_name 1', 'order' = array( 'count_name' ) ) ); On Tuesday, 19 June 2012 03:18:58 UTC+1, elogic wrote: Hi All, How do I go about generating the following SQL line using cakePHP from the timesheets controller? SELECT user_id, date, count(id) as count_name FROM `timesheets`GROUP BY user_id, date HAVING count_name 1 ORDER BY count_name; Basically it is just checking for double up records mathching the date and user_id fields. Thanks -- Our newest site for the community: CakePHP Video Tutorials http://tv.cakephp.org Check out the new CakePHP Questions site http://ask.cakephp.org and help others with their CakePHP related questions. To unsubscribe from this group, send email to cake-php+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/cake-php
Re: how to generate this sql
Thanks, This is what I ended up doing in my records controller function but I get the following error:* Column not found: 1054 Unknown column 'count_name' in 'having clause' * $this-Timesheet-virtualFields = array( 'count_name' = 'COUNT(Timesheet.id)' ); $doubles = $this-Timesheet-find( 'all', array( 'fields' = array( 'Timesheet.user_id', 'Timesheet.date', 'count_name' ), 'group' = 'Timesheet.user_id, Timesheet.date HAVING count_name 1', 'order' = array( 'count_name' ) ) ); $this-set('doubles', $doubles); - Thanks Adam On Wed, Jun 20, 2012 at 1:16 AM, dogmatic69 dogmati...@gmail.com wrote: Cake does not support HAVING but you can put it in the group as a string. Something like the following: $this-Timesheet-virtualFields = array( 'count_name' = 'COUNT(id)' ); $this-Timesheet-find( 'all', array( 'fields' = array( 'Timesheet.user_id', 'Timesheet.date', 'count_name' ), 'group' = 'Timesheet.user_id, Timesheet.date HAVING count_name 1', 'order' = array( 'count_name' ) ) ); On Tuesday, 19 June 2012 03:18:58 UTC+1, elogic wrote: Hi All, How do I go about generating the following SQL line using cakePHP from the timesheets controller? SELECT user_id, date, count(id) as count_name FROM `timesheets`GROUP BY user_id, date HAVING count_name 1 ORDER BY count_name; Basically it is just checking for double up records mathching the date and user_id fields. Thanks -- Our newest site for the community: CakePHP Video Tutorials http://tv.cakephp.org Check out the new CakePHP Questions site http://ask.cakephp.org and help others with their CakePHP related questions. To unsubscribe from this group, send email to cake-php+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/cake-php -- Our newest site for the community: CakePHP Video Tutorials http://tv.cakephp.org Check out the new CakePHP Questions site http://ask.cakephp.org and help others with their CakePHP related questions. To unsubscribe from this group, send email to cake-php+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/cake-php
Re: how to generate this sql
Sorry Cake creates the fields as Model__filed so it should be 'group' = 'Timesheet.user_id, Timesheet.date HAVING Timesheet__count_name 1', On Tuesday, 19 June 2012 23:52:43 UTC+1, elogic wrote: Thanks, This is what I ended up doing in my records controller function but I get the following error:* Column not found: 1054 Unknown column 'count_name' in 'having clause' * $this-Timesheet-virtualFields = array( 'count_name' = 'COUNT(Timesheet.id)' ); $doubles = $this-Timesheet-find( 'all', array( 'fields' = array( 'Timesheet.user_id', 'Timesheet.date', 'count_name' ), 'group' = 'Timesheet.user_id, Timesheet.date HAVING count_name 1', 'order' = array( 'count_name' ) ) ); $this-set('doubles', $doubles); - Thanks Adam On Wed, Jun 20, 2012 at 1:16 AM, dogmatic69 wrote: Cake does not support HAVING but you can put it in the group as a string. Something like the following: $this-Timesheet-virtualFields = array( 'count_name' = 'COUNT(id)' ); $this-Timesheet-find( 'all', array( 'fields' = array( 'Timesheet.user_id', 'Timesheet.date', 'count_name' ), 'group' = 'Timesheet.user_id, Timesheet.date HAVING count_name 1', 'order' = array( 'count_name' ) ) ); On Tuesday, 19 June 2012 03:18:58 UTC+1, elogic wrote: Hi All, How do I go about generating the following SQL line using cakePHP from the timesheets controller? SELECT user_id, date, count(id) as count_name FROM `timesheets`GROUP BY user_id, date HAVING count_name 1 ORDER BY count_name; Basically it is just checking for double up records mathching the date and user_id fields. Thanks -- Our newest site for the community: CakePHP Video Tutorials http://tv.cakephp.org Check out the new CakePHP Questions site http://ask.cakephp.org and help others with their CakePHP related questions. To unsubscribe from this group, send email to cake-php+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/cake-php -- Our newest site for the community: CakePHP Video Tutorials http://tv.cakephp.org Check out the new CakePHP Questions site http://ask.cakephp.org and help others with their CakePHP related questions. To unsubscribe from this group, send email to cake-php+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/cake-php
Re: how to generate this sql
Thanks, worked perfectly. On Wed, Jun 20, 2012 at 9:17 AM, dogmatic69 dogmati...@gmail.com wrote: Sorry Cake creates the fields as Model__filed so it should be 'group' = 'Timesheet.user_id, Timesheet.date HAVING Timesheet__count_name 1', On Tuesday, 19 June 2012 23:52:43 UTC+1, elogic wrote: Thanks, This is what I ended up doing in my records controller function but I get the following error:* Column not found: 1054 Unknown column 'count_name' in 'having clause' * $this-Timesheet-**virtualFields = array( 'count_name' = 'COUNT(Timesheet.id)' ); $doubles = $this-Timesheet-find( 'all', array( 'fields' = array( 'Timesheet.user_id', 'Timesheet.date', 'count_name' ), 'group' = 'Timesheet.user_id, Timesheet.date HAVING count_name 1', 'order' = array( 'count_name' ) ) ); $this-set('doubles', $doubles); - Thanks Adam On Wed, Jun 20, 2012 at 1:16 AM, dogmatic69 wrote: Cake does not support HAVING but you can put it in the group as a string. Something like the following: $this-Timesheet-**virtualFields = array( 'count_name' = 'COUNT(id)' ); $this-Timesheet-find( 'all', array( 'fields' = array( 'Timesheet.user_id', 'Timesheet.date', 'count_name' ), 'group' = 'Timesheet.user_id, Timesheet.date HAVING count_name 1', 'order' = array( 'count_name' ) ) ); On Tuesday, 19 June 2012 03:18:58 UTC+1, elogic wrote: Hi All, How do I go about generating the following SQL line using cakePHP from the timesheets controller? SELECT user_id, date, count(id) as count_name FROM `timesheets`GROUP BY user_id, date HAVING count_name 1 ORDER BY count_name; Basically it is just checking for double up records mathching the date and user_id fields. Thanks -- Our newest site for the community: CakePHP Video Tutorials http://tv.cakephp.org Check out the new CakePHP Questions site http://ask.cakephp.org and help others with their CakePHP related questions. To unsubscribe from this group, send email to cake-php+unsubscribe@**googlegroups.comcake-php%2bunsubscr...@googlegroups.comFor more options, visit this group at http://groups.google.com/**group/cake-phphttp://groups.google.com/group/cake-php -- Our newest site for the community: CakePHP Video Tutorials http://tv.cakephp.org Check out the new CakePHP Questions site http://ask.cakephp.org and help others with their CakePHP related questions. To unsubscribe from this group, send email to cake-php+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/cake-php -- Our newest site for the community: CakePHP Video Tutorials http://tv.cakephp.org Check out the new CakePHP Questions site http://ask.cakephp.org and help others with their CakePHP related questions. To unsubscribe from this group, send email to cake-php+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/cake-php
how to generate this sql
Hi All, How do I go about generating the following SQL line using cakePHP from the timesheets controller? SELECT user_id, date, count(id) as count_name FROM `timesheets`GROUP BY user_id, date HAVING count_name 1 ORDER BY count_name; Basically it is just checking for double up records mathching the date and user_id fields. Thanks -- Our newest site for the community: CakePHP Video Tutorials http://tv.cakephp.org Check out the new CakePHP Questions site http://ask.cakephp.org and help others with their CakePHP related questions. To unsubscribe from this group, send email to cake-php+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/cake-php