はじめに
Baas(Backend As A Service)で何かサービスを構築してみたいと思い、
firebaseを触ってみようと思ったところ、Firebase の代替と謳われているsupabaseを発見。
簡単なTodoアプリを公式を参考に構築していた際、
条件によってネストしたテーブルでソートを実装した時のメモ。
簡単なTodoアプリの構築に関してはこちらで解説しております。
使ったもの
-
Vite + Svelte + Typescript
- @supabase/supabase-js
- tailwind css
-
supabase
- auth
- db
- realtime
前提
次のような1:多のテーブルがあったとします。
authorテーブル
項目 | 型 |
---|---|
id | uuid |
name | text |
bookテーブル
項目 | 型 |
---|---|
id | uuid |
author_id | uuid |
name | text |
publish_at | date |
book
のpublish_at
順でソートしたいときの処理を考える。
実装
const { data, error } = await supabase
.from('author')
.select('*, books(*)')
.order('publish_at', { foreignTable: 'books', ascending: true })
ascending
で昇順降順を切り替えられる。