I thought I'd post back with my solution. I seem to magically figure it
out 2 minutes after posting, but never before hand haha.
I just used the 'group' key instead and that seemed to do the trick
returning only distinct IP rows while bringing back data for all fields
that I needed:
$DistinctIp = $this->Log->find('all', array(
'conditions'=>array(
'last_usage_human >'=>date('Y-m-d H:i:s', strtotime('-15 minutes'))
),
'fields'=>array('Log.ip', 'Log.user_agent', 'Log.ip_name',
'Log.last_usage_human'),
'limit'=>333,
'group'=>'Log.ip'
));
On Friday, August 31, 2012 6:32:20 PM UTC-7, andrewperk wrote:
>
> Hello,
>
> When trying to do a DISTINCT find with only 1 field being returned
> everything works fine. But if I want more than just that 1 field of data
> returned it's no longer distinct. How can I do this?
>
> $DistinctIp = $this->Log->find('all', array(
> 'conditions'=>array(
> 'last_usage_human >'=>date('Y-m-d H:i:s', strtotime('-15 minutes'))
> ),
> 'fields'=>array('DISTINCT Log.ip', 'Log.user_agent', 'Log.ip_name',
> 'Log.last_usage_human'),
> 'limit'=>333
> ));
>
> This does not work, it's returning everything, it's no longer DISTINCT.
>
> Here you can see I want only rows with the DISTINCT ip field to be
> returned. But I want the data that's returned from more than just that
> field such as the: ip_name, last_usage_human fields as well. But when I do
> this it returns everything and doesn't constrain it to the DISTINCT.
>
> Thanks,
>
>
> Andrew
>
--
You received this message because you are subscribed to the Google Groups
"CakePHP" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
Visit this group at http://groups.google.com/group/cake-php?hl=en-US.