.filter()

找到所有column符合过滤器的记录。

1final data = await supabase
2  .from('cities')
3  .select('name, country_id')
4  .filter('name', 'in', '("Paris","Tokyo")');

Notes#

  • .filter()希望你使用原始的PostgREST语法来表示过滤器的名称和值,所以它只能作为其他过滤器不工作时的一个转义。
    1  .filter('arraycol','cs','{"a","b"}') // Use Postgres array {} and 'cs' for contains.
    2  .filter('rangecol','cs','(1,2]') // Use Postgres range syntax for range column.
    3  .filter('id','in','(6,7)')  // Use Postgres list () and 'in' for in_ filter.
    4  .filter('id','cs','{${mylist.join(',')}}')  // You can insert a Dart array list.

Examples#

使用 select()#

1final data = await supabase
2  .from('cities')
3  .select('name, country_id')
4  .filter('name', 'in', '("Paris","Tokyo")');

使用 update()#

1final data = await supabase
2  .from('cities')
3  .update({ 'name': 'Mordor' })
4  .filter('name', 'in', '("Paris","Tokyo")');

使用 delete()#

1final data = await supabase
2  .from('cities')
3  .delete()
4  .filter('name', 'in', '("Paris","Tokyo")');

使用 rpc()#

1// Only valid if the Stored Procedure returns a table type.
2final data = await supabase
3  .rpc('echo_all_cities')
4  .filter('name', 'in', '("Paris","Tokyo")');

Filter embedded resources#

1final data = await supabase
2  .from('cities')
3  .select('name, countries ( name )')
4  .filter('countries.name', 'in', '("France","Japan")');