My ultimate goal would be to only pull out the top x users. I'm
currently using the following code to achieve this:
TagUser.findAll(By(TagUser.tag, this.id)).map(_.user.obj.open_!)
.sort(_.followers_count.is > _.followers_count.is)
.take(x)
But im concerned that this creates an instance for each of the users
in tag tag even though i only need the top x.
Thanks for helping me out :)
On Jan 5, 1:47 am, David Pollak <[email protected]> wrote:
> On Mon, Jan 4, 2010 at 3:24 PM, Mads Hartmann <[email protected]> wrote:
> > Hello, I'm having a problem and I'm sure it's an easy fix for someone
> > with a bit more experience
>
> > I have 3 model classes: tag, user, tweet and a join class TagUser. A
> > tag has a list of users.
>
> > If i want all of the users in a tag i use the following code (which
> > works):
>
> > def users = TagUser.findAll(By(TagUser.tag, this.id)).map
> > (_.user.obj.open_!)
>
> > my problem is that i can't figure out how to apply queryparams so i
> > don't pull out all of the users from the DB if i don't need em. I was
> > thinking something like this (doesn't compile):
>
> > def getTopUsers(in: Int) :List[User] = {
> > TagUser.findAll(By(TagUser.tag, this.id),
> > OrderBy(User.followers_count, Descending),
> > MaxRows(in))
>
> There is an issue:
>
> OrderBy(User.xxxx, Descending) // illegal... you can only order by a
> TagUser.xxx field
>
> And a potential issue:
>
> MaxRows[TagUser](in) // sometimes the Type Inferencer doesn't get it right.
>
> What's your ultimate goal?
>
>
>
>
>
> > }
>
> > I get the following error:
> > [ERROR] ... error: overloaded method value findAll with alternatives
> > (net.liftweb.mapper.QueryParam[scalableKvidr.model.TagUser]*)List
> > [scalableKvidr.model.TagUser] <and> ()List
> > [scalableKvidr.model.TagUser] cannot be applied to
> > (net.liftweb.mapper.Cmp
> > [scalableKvidr.model.TagUser,Long],net.liftweb.mapper.OrderBy
> > [scalableKvidr.model.User,Int],net.liftweb.mapper.MaxRows[Nothing])
>
> > --
>
> > You received this message because you are subscribed to the Google Groups
> > "Lift" group.
> > To post to this group, send email to [email protected].
> > To unsubscribe from this group, send email to
> > [email protected]<liftweb%[email protected]
> > >
> > .
> > For more options, visit this group at
> >http://groups.google.com/group/liftweb?hl=en.
>
> --
> Lift, the simply functional web frameworkhttp://liftweb.net
> Beginning Scalahttp://www.apress.com/book/view/1430219890
> Follow me:http://twitter.com/dpp
> Surf the harmonics
--
You received this message because you are subscribed to the Google Groups
"Lift" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/liftweb?hl=en.