Book Image

Lift Application Development Cookbook

By : Gilberto Tadeu Garcia Jun
Book Image

Lift Application Development Cookbook

By: Gilberto Tadeu Garcia Jun

Overview of this book

Developing secure web applications is one of the most important tasks developers have to deal with. With Lift, it is easy to create solid and formidable web applications as it is the most secure web framework available today. The View-First approach and being able to handle things as purely data transformation, makes working with Lift an exciting task. "Lift Application Development Cookbook" teaches you how to build web applications using this amazing framework. The book moves gradually, starting with the basics (starting a new project, submitting a form, and so on) before covering more advanced topics such as building a REST API and integrating your application with other technologies and applications. "Lift Application Development Cookbook" takes you on a journey of creating secure web applications. Step-by-step instructions help you understand how things work and how various elements relate to each other. You'll learn different ways to process a form, build dynamic HTML pages, and create an API using REST. You'll also learn how to work with relational and NoSQL databases and how to integrate your application with other technologies as well as with third-part applications such as Gmail and Facebook. By the end of the book, you will be able to understand how Lift works and be able to build web applications using this amazing and exciting framework.
Table of Contents (15 chapters)
Lift Application Development Cookbook
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Creating one-to-many relationships


After learning how to map a database table to a Scala class using Record, we will learn how to take the next step, which is mapping a one-to-many relationship using Record.

Getting ready

We are going to modify the project from the last recipe. You can duplicate the project or modify it; it is your choice.

  1. Create a table called phones:

    create table phones (
      id serial primary key,
      number varchar(15),
      contact bigint
    )
  2. Add the following import statements in the Boot.scala file:

    import net.liftweb.http.S
    import net.liftweb.util.LoanWrapper
    import net.liftweb.squerylrecord.RecordTypeMode._
  3. Add the following code into the boot method in the Boot.scala file:

    S.addAround(new LoanWrapper {
      override def apply[T](f: => T): T = inTransaction(f)

Now, you won't need to invoke the inTransaction or transaction methods.

How to do it...

  1. In the model folder, create a new file named Phone.scala containing the following code:

    package code.model 
    
    import net.liftweb.squerylrecord...