Hi Bingo,

The sql above seems a bit overcomplex, maybe I'm mising something.

Why not:

Create a list of unique Singer/Artist Ids from the song model
Use that list of Ids.

?

To create the singer id list would be something like $data =
$this->Singer->Song->findAll(null,array("DISTINCT
'Song.singer_id'),null,null,null,-1)
To get your singers sorted would be something like
$this->Singer->findAll(array("Singer.id"=>$arrayOfIds),null,$sort,$limit,$page)

It is quite rare that the cake find methods can't handle what you want
nowadays.

HTH,

AD7six
Please note:
The manual/bakery is a good place to start any quest for info.
The cake search (at the time of writing) erroneously reports less/no
results for the google group.
The wiki may contain incorrect info - read at your own risk (it's
mainly user submitted) :)
You may get your answer quicker by asking on the IRC Channel (you can
access it with just a browser here: http://irc.cakephp.org).

On Oct 25, 8:56 pm, "bingo" <[EMAIL PROTECTED]> wrote:
> hi,
>
> Thanks to Christoph. I found a solution but wondering is there any
> better way to get rid of this long SQL query. Its fine for me to have a
> multistep procedure
>
> $query = <<< SQL
> select
>   Users.id as user_id,
>   Users.name as user_name,
>   Singers.id as singer_id,
>   Singers.name as singer_name,
>   count(Songs.id) as songs_in_lib
> from
>   Users left join Songs_users on Users.id = Songs_users.user_id,
>   Singers left join Singers_songs on Singers.id =
> Singers_songs.singer_id,
>   Songs
> where
>   Songs.id = Singers_songs.song_id and
>   Songs_users.song_id = Songs.id and
>   Users.id = 1
> group by
>   Users.id,
>   Users.name,
>   Singers.id,
>   Singers.name
> order by
>   Users.name,
>   Singers.name
> SQL;
>
>      $data = $this->User->query($query);
>      $this->set('data',$data);
> 
> Regards,
> Ritesh


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Cake 
PHP" group.
To post to this group, send email to cake-php@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/cake-php
-~----------~----~----~----~------~----~------~--~---

Reply via email to