gpt4 book ai didi

lift - 从电梯中的任何映射器中按名称检索字段

转载 作者:行者123 更新时间:2023-12-04 19:39:14 27 4
gpt4 key购买 nike

我们如何从任何映射器中检索所需的文件以便在查询参数中使用它。

就我而言,我想找到我的“期望字段”具有值 = somevalue 的记录。

它尝试了以下方式

foo(Users)

// foo defined here...

def foo ( modelObject:Mapper[_])={

var field =modelObject.fieldByName("UserName").openTheBox.asInstanceOf[MappedField[_,Users]]
var requiredUser = modelObject.find(By(field, "dummyUser")

}

但它迫使我在 asInstanceOf[MappedField[_,Users]] 中指定实际的 Mapper (用户实例在这里传递)。我想让它适用于任何映射器,而不仅仅是“用户”。

它不适用于 asInstanceOf[MappedField[_,_]]
我了解每个 Mapper 可能没有我想要的字段,在这种情况下,如果 .fieldByName()函数应该抛出一些异常,这是可以接受的。但至少对于那些有备案的人来说,它应该可以工作。

任何人都可以帮助我...

最佳答案

def foo[A<: Mapper[A],T](modelObject: A) = {
val field = modelObject.asInstanceOf[Mapper[A]].fieldByName("userName").openTheBox.asInstanceOf[MappedField[T, A]]
modelObject.asInstanceOf[MetaMapper[A]].find(By(field, "dummyUser".asInstanceOf[T])
}

当你打电话时你能做这样的事情:
foo[Users,String](Users)

关于lift - 从电梯中的任何映射器中按名称检索字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8266108/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com