我今天才发现jOOQ,并决定尝试一下。只是想知道,是否有Eloquent的pluck()的等效项。这消除了为获得单个值而编写大量冗长的代码的麻烦。例如,在Eloquent(Laravel)中,我将通过以下方式获得地点的名称:
$name = Place::where('iso_code', '=', $code)->pluck('name');
或者
$name = DB::table('places')->where('iso_code', '=', $code)->pluck('name');
jOOQ是否有等效功能?
谢谢。
根据我的理解pluck()
(有趣的命名选择),我怀疑您要执行的操作是以下SQL:
SELECT name FROM places WHERE iso_code = ?
在jOOQ中,以下语句将执行相同的操作(使用代码生成器):
String name =
DSL.using(configuration)
.select(PLACES.NAME)
.from(PLACES)
.where(PLACES.ISO_CODE.eq(code))
.fetchOne(PLACES.NAME);
不使用代码生成器:
Field<String> field = DSL.field("name", String.class);
String name =
DSL.using(configuration)
.select(field)
.from("places")
.where("iso_code = ?", code)
.fetchOne(field);
因此,等同于pluck()
Eloquent的是jOOQ的ResultQuery.fetchOne(Field)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句