获取数据: select()
使用 SELECT 执行垂直过滤。
final res = await supabase
.from('cities')
.select()
.execute();
final data = res.data;
final error = res.error;
Notes
- 默认情况下,Supabase 项目将返回最多 1,000 行。此设置可以更改项目 API 设置。建议您将其保持在较低水平以限制意外或恶意请求的负载大小。您可以使用range()查询对数据进行分页。
select()
可以和 Modifiers 搭配使用select()
可以和 Filters 搭配使用
Examples
获取您的数据
final res = await supabase
.from('cities')
.select()
.execute();
final data = res.data;
final error = res.error;
选择特定的列
您可以从表格中选择特定字段.
final res = await supabase
.from('cities')
.select('name')
.execute();
查询外部表
如果您的数据库表有关联,也可以查询其相关联的表
final res = await supabase
.from('countries')
.select('''
name,
cities (
name
)
''')
.execute();
多次查询同一个外部表
有时您需要查询同一个外部表两次。在这种情况下,您可以使用连接列的名称来确定您打算使用哪个连接。为方便起见,您还可以为每一列指定别名。例如,如果我们有一个产品商店,并且我们想同时获取供应商和购买者(都在用户表中)::
final res = await supabase
.from('products')
.select('''
id,
supplier:supplier_id ( name ),
purchaser:purchaser_id ( name )
''')
.execute();
使用 count 选项查询
您可以使用 count 选项获取行数。
计数选项的允许值为 null
, exact, planned 和 estimated.
final res = await supabase
.from('cities')
.select('name')
.execute(count: CountOption.exact);
final count = res.count;
查询json数据
如果 JSONB 列中有数据,则可以对数据值应用选择和查询过滤器。Postgres 提供了许多 用于查询 JSON 数据的运算符. 另请参阅 PostgREST 文档以获取更多详细信息。
final res = await supabase
.from('users')
.select('''
id, name,
address->street
''')
.eq('address->postcode', 90210)
.execute();
以 CSV 格式返回数据
默认情况下,数据以 JSON 格式返回,但您也可以请求将其作为逗号分隔值返回。
fianl res = await supabase
.from('users')
.select()
.csv()
.execute();