我今天刚刚发现了jOOQ,并决定尝试一下。只是想知道,有没有相当于Eloquent的采()。这样就不需要编写大量冗长的代码来获取单个值。例如在Eloquent(Laravel)中,我将简单地通过以下方式得到一个地方的名称:
$name = DB::table('places')->where('iso_code', '=', $code)->pluck('name');
或
{{1}}
jOOQ中有相同的东西吗?
感谢。
答案 0 :(得分:2)
从我如何理解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);
所以,相当于Eloquent的pluck()
是jOOQ&#39; s ResultQuery.fetchOne(Field)