-->

【自分で作るGlide】8:計算式とアクションで残りチケット数を管理する−ノーコードで塾の予約管理アプリを作る

2021/07/15

Glide

t f B! P L

自分で作るGlide–塾の予約アプリを作る
(写真AC)


 Glideでノーコードで塾の予約アプリを自作するシリーズ、今回は予約やキャンセルで増減するチケット数の管理について、作業中のテーブル以外のテーブルの値を変更する方法を説明します。

なお、前回はロールアアップ機能についてご説明しましたので、こちらもご覧下さい。

【自分で作るGlide】7:ロールアップ(Rollup)の使い方−ノーコードで塾の予約管理アプリを作る

Glideでノーコードアプリを自作してみるシリーズ。今回は、ロールアップ機能を使ってテーブルのデータの数を数えます。ロールアップを適用した列の、行ごとにデータ数をカウントします。

ユーザーごとのチケット管理

ユーザーのチケット管理は、チケットの購入・予約で残りチケット減少・キャンセルして返金(残りチケット増加)、となります。

チケット数については、Userテーブルの各ユーザー行で管理されます。

予約してチケット残を減少させる

予約時のアクション

まずは予約時に残りチケットを減少させる方法を考えます。予約ボタンを押したときに、予約ユーザーのチケット数を1枚減少させます。

予約ボタンに対応するアクションを追加し、Usersテーブルのチケット数を減少させるのが簡単そうですが、予約ボタンはレッスンテーブルの画面で配置されているので、Usersテーブルを直接変更することができません。


Glideで他のテーブルの値を操作する

そこで、少し手間がかかりますが、レッスンリストにユーザーを記録し、Usersテーブルの関連する行のチケット数を増減させることにします。

予約時に残りチケットを減少させる

まず、レッスンリストに列を追加します。予約作業中のユーザーIDを記録する「現在のユーザー」列と、そのユーザーとUsersテーブルを関連づけるRelation列です。Relationは現在のUserのユーザーIDとUsersテーブルのUser IDを関連づけます。

次に、予約ボタンのアクションを修正します。レッスンリストの行に作業中のユーザーIDを記録します。


Glideでチケット数を管理–ユーザーを関連づけさせる

試しに予約ボタンを押してみます。レッスンテーブルは以下のようになりました。


Glideでチケット数を管理–レッスンとユーザーを紐付け

作業テーブル以外の列の値を変える

次に、Usersテーブルのユーザー行にある、「受講券残高」列の値を減らします。ところで、Incrementアクションは列の値を減らすこともできますが、作業中のテーブル以外のテーブルを操作することはできません。ここでは、作業中のレッスンテーブルからUsersテーブルの値を変えようとしていますので、Incrementアクション以外の方法にする必要があります。

そこで、Usersテーブルに列を追加し、チケットが一枚減った後の残高を計算し、その値をチケット残高にコピーすることにします。まず列を設定します。


Glideでチケットを管理–Math型で計算する



列は計算式用のMath型を設定します。Math型で計算できる演算子は多くはありませんが、四則演算は問題ありません。参照する列は、列の名前をそのまま入れます。

そして、アクションでこの列の値を「受講券残高」列に上書きします。これにより、受講券残高の値が一つ減って更新されます。


Glideでチケットを管理–チケット数を減らすアクションを設定

予約ボタンを押して挙動を確認する

実際に予約ボタンを押して挙動を確認してみました。チケット残高が一枚減少、その隣のチケット減少列も一枚分減少していることがわかります。


Glideでチケット管理–予約でチケット残高が減少したことを確認する


キャンセルの場合はチケット残高を増加する

キャンセル時のアクション

キャンセルボタンを押した時には、予約時とは反対にチケット残高を1枚増やす必要があります。キャンセルボタンのアクションに、ユーザーのチケット残高を1枚増加するアクションを追加します。

キャンセル時の作業テーブルは予約テーブルですので、予約時のアクションと同じように、IncrementアクションではUsersテーブルを操作することはできません。そこで、予約時と同じく、予約テーブルに作業ユーザーの関連列を作り、関連テーブルを操作する形でユーザーのチケット数を増加させます。

予約リストとユーザーリストを関連づける

まず、予約リストに作業中のユーザーを記録する列を作ります。続いて、UsersテーブルのユーザーIDと関連づけるRelation列を予約リストに作ります。

次に、キャンセルボタンのアクションを修正します。

予約ボタンと同じように、まずは現在のテーブルに作業中のユーザーのIDを記録します。


Glideでチケットを管理–キャンセルボタンのアクションを設定

ユーザーテーブルの値を更新する

続いて、ユーザーテーブルの値を更新するアクションを設定します。その前に、Usersテーブルに列を追加し、チケットが一枚増えた時の値を計算させるようにします。

予約ボタンの設定と同じように、Math型の列を作り、各行の「受講券残高」の値を1増加させる計算をさせるようにします。

そして、キャンセルボタンのアクションを追加します。ユーザーテーブルの関連ユーザー行を選択し、受講券残高の値を、設定した数式列の値に更新します。

キャンセルボタンを押して挙動を確認する

これで完成です。実際にキャンセルボタンを押して挙動を確認してみます。ここではテーブルではなく、アプリ画面で動きを確認してみます。チケット残高が、予約を取る前の値に戻っていることが確認できるはずです。


Glideでチケット管理–チケットの増加をアプリ画面で確認する

なお、ボタンを押しても画面上は変化がないので、キャンセルできたかどうかわかりません。お好みで、「Go back」アクションを追加しても良いと思います。これをアクションの最後に追加することで、キャンセルボタンを押して一連の作業が終わると、自動的に前画面に戻るようになります。

チケットの販売と決済

次回は、チケットの販売と決済について、Stripeとの連携方法などをご説明します。


【自分で作るGlide】9:チケットの販売とBuyボタンで決済−ノーコードで塾の予約管理アプリを作る

Glideでノーコードアプリを自作してみるシリーズ。今回は、Stripeとの連携によるGlideでの決済機能についてご説明します。

シリーズ目次

Glideを使ってノーコードでアプリを自作するシリーズ、塾の予約管理アプリを作ってみました。データベースの構築・画面の設計・アクションの設定と、ノーコードでアプリを作成する一通りの作業を確認していきます。シリーズは全10回です。

Glideを使うのは初めてですが、開発時間は、Glideの導入からアプリ完成まで一日2、3時間使って3、4日といったところです。

目次

第1回:Glideの導入
第2回:Glideの編集画面について
第3回:Glideのテーブルの作り方
第4回:タブとコンポーネントの設定方法
第5回:アプリの画面を設計
第6回:アクションの設定
第7回:ロールアップ(Rollup)の使い方
第8回:計算式とアクションで残りチケット数を管理する
第9回:チケットの販売とBuyボタンで決済
第10回:アプリを公開する

個別編

リレーション(Relation)について
GlideとZapierを連携する−GlideアプリでZoomミーティングを作る


このブログを検索

最新記事はこちら

【映画】007 ノー・タイム・トゥ・ダイ

  言わずと知れた007シリーズの最新作にして、ダニエル・クレイグ版ボンドの最終作。6年ぶりの新作公開となりますが、過去のダニエル・ボンドの各作が関連していることを、見たあとに気がつく始末。ぜひ、「カジノ・ロワイヤル」からの各作品を事前に予習(復習)することをお勧めします。もちろ...

自己紹介

そろそろネットで何かやってみるか、という程度。のんびり、てきとーに。