Files
supabase/apps/reference/_supabase_dart/or.mdx
T

105 lines
1.7 KiB
Plaintext

---
id: or
title: ".or()"
slug: or
custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/dart.yml
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
Finds all rows satisfying at least one of the filters.
<Tabs
defaultValue="dart"
groupId="reference/dart"
values={[{ label: 'Dart', value: 'dart' }]}>
<TabItem value="dart">
```dart
final res = await supabase
.from('cities')
.select('name, country_id')
.or('id.eq.20,id.eq.30')
.execute();
```
</TabItem>
</Tabs>
## Notes
- `.or()` expects you to use the raw [PostgREST syntax](https://postgrest.org/en/stable/api.html#horizontal-filtering-rows) for the filter names and values.
```dart
.or('id.in.(6,7),arraycol.cs.{"a","b"}') // Use Postgres list () and 'in' for in_ filter. Array {} and 'cs' for contains.
.or('id.in.(${mylist.join(',')}),arraycol.cs.{${mylistArray.join(',')}}') // You can insert a Dart list for list or array column.
.or('id.in.(${mylist.join(',')}),rangecol.cs.(${mylistRange.join(',')}]') // You can insert a Dart list for list or range column.
```
## Examples
### With `select()`
<Tabs
defaultValue="dart"
groupId="reference/dart"
values={[{ label: 'Dart', value: 'dart' }]}>
<TabItem value="dart">
```dart
final res = await supabase
.from('cities')
.select('name, country_id')
.or('id.eq.20,id.eq.30')
.execute();
```
</TabItem>
</Tabs>
### Use `or` with `and`
<Tabs
defaultValue="dart"
groupId="reference/dart"
values={[{ label: 'Dart', value: 'dart' }]}>
<TabItem value="dart">
```dart
final res = await supabase
.from('cities')
.select('name, country_id')
.or('id.gt.20,and(name.eq.New Zealand,name.eq.France)')
.execute();
```
</TabItem>
</Tabs>