0

私はこのような機能を持っています:

def getList(gig: Gig, createdBy: User = null, all: Boolean = true): List[Bid] = {
    var bys = List[QueryParam](By(Bid.gig, gig))
    if (createdBy!=null) bys = By(Bid.createdBy, createdBy) :: bys
    if (!all) bys = By(Bid.deleted, false) :: bys

    Bid.findAll(bys) //gives error as do not accept List[QueryParam]
  }

findAll に動的な数の QueryParams を指定するにはどうすればよいですか?

4

1 に答える 1

0

このような:

Bid.findAll(bys:_*)

補足:nullまたは を優先して避ける価値がありOptionます。

def getList(gig: Gig, createdBy: Option[User] = None, all: Boolean = true): List[Bid] = {

それからあなたはすることができます

val bys = (if (!all) Some(By(Bid.deleted, false)) else None) ++
          (createdBy.map(u => By(Bid.createdBy, u))) ++ 
          List[QueryParam](By(Bid.gig, gig))
Bid.findAll(bys:_*)
于 2013-01-25T10:52:04.903 に答える