Hi, Small update.
Changing the order of the comparison in my code i.e. b.author == 1 instead of 1 == b.author fixed the warning, but I'm still curious as to whether what I'm doing is a good idea. Thanks. Cheers, Achint On Mar 6, 2:14 pm, Achint Sandhu <achint.san...@gmail.com> wrote: > Hi, > > I've run into a slight snag with my use of the current approach. I > suspect what I'm trying to do is silly. The interaction below is from > the lift console and I don't actually use open_! in my code. > > --- > scala> val b = Book.find(1).open_! > l: com......Book = com......Book={id=1,author=1} > > scala> b.author > res3: b.author.type = 1 > > scala> b.author == 1 > res4: Boolean = true > --- > > If for some reason a Book does not have an author (possible in my > applications case), b.author would return NULL and comparing b.author > == 1 returns Boolean = false > > This approach works in the actual application, but the compiler > generates the following warning. > > --- > warning: comparing values of types Long and object b.author using `==' > will always yield false > --- > > In the specific application case I have, I have access to the > Author.id and want to check if the book is referring to the author > whose ID I have before I do something. I know that I could look up the > Author object and do the comparison, but the above seemed to be a > useful shortcut. > > Is there a recommended (succinct) way of accomplishing the above ? > > I'd like the thank everyone for the patience and help provided so far. > > Cheers, > Achint > > On Mar 2, 3:26 pm, Mads Hartmann Jensen <mads...@gmail.com> wrote: > > > > > On 02/03/2010, at 20.56, Achint Sandhu wrote: > > > > Hi, > > > > I'm new to scala (2.7.7) and lift (2.0-M2) and as a learning exercise > > > have taken on the translation of an existing rails project into a lift > > > application. > > > > There are two things I have run into that I'm hoping the more > > > experienced members of the list can give me a hand with: > > > > 1) Is there a trait in lift that creates and manages an equivalent of > > > the createdAt and updatedAt fields that rails provides? I'm thinking > > > something along the lines of IdPK, but have been unable to find > > > anything. > > > > 2) I've been following the wiki article on setting up One-to-Many > > > relationships (http://wiki.github.com/dpp/liftweb/how-to-work-with-one- > > > to-many-relationships) and am running into a difference in behaviour. > > > Following the example, if I look at anAuthor.books, I get back a List > > > of Book objects, however when I look at aBook.author, I get back a > > > Long with the ID of the Author. I would expect aBook.author to return > > > an Author object. I've copied and pasted the example in the wiki, to > > > make sure that it wasn't my implementation. > > > You should be able to get the object by calling aBook.author.obj - this > > should return a Box[Author] so you could get it like this > > > aBook.author.obj match { > > case Full(a) => a // do something with the autor > > case Empty => // if the box is empty, handle it somehow > > case _ => // should cover everyhting else, Failure etc > > > } > > > Hope it helps > > > > Other than that, so far, it's gone extremely well and I was able to > > > get something up and running very quickly which really is a testament > > > to the design of the framework. > > > > Thanks. > > > > Cheers, > > > Achint > > > > -- > > > You received this message because you are subscribed to the Google Groups > > > "Lift" group. > > > To post to this group, send email to lift...@googlegroups.com. > > > To unsubscribe from this group, send email to > > > liftweb+unsubscr...@googlegroups.com. > > > For more options, visit this group > > > athttp://groups.google.com/group/liftweb?hl=en. -- You received this message because you are subscribed to the Google Groups "Lift" group. To post to this group, send email to lift...@googlegroups.com. To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/liftweb?hl=en.