获取数据: 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, plannedestimated.

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();

results matching ""

    No results matching ""