yunsu
2022 年 5 月 13 日午前 2:14
1
###実装したい機能
顧客管理のような形で、新たな顧客をデータベースに登録する際に、
ユーザーA → ID001
ユーザーB → ID002
ユーザーC → ID003
のような形でかぶらないようにユーザーIDがDBに登録されるようにしたいです。
できればIDは001といった数字だけでなく、AA-001のような形で保存できればと思っています。
「AA-」は固定で、数字の部分のみかぶらないようにしたいです。
ユーザーテーブルにuser-IDのようなfieldを作成して、顧客を新規追加する際のcreate a new thingでuser-ID=(DBにあるuser-IDの1番大きい数字 + 1)のような処理を行えば実装できるのかな?とは思いいましたが、具体的な実装の方法が思い浮かびません。
ご助力いただけますと幸いです。
よろしくお願い致します。
bubbleがunique id をつけていますが、これではダメなのでしょうか?
bubbleのdataからapp dataタグでunique idを見てもらったらいいと思います。
通常は隠れているので、一覧の右上の○additional fieldsをクリックすると隠れているfieldsが見えます。
チェック入れて保存したらそのfieldsの内容が見えるようになります。
appdata
database view
yunsu
2022 年 5 月 13 日午前 2:58
3
ご返信ありがとうございます。
イメージとしては、顧客一覧画面にもID表示できるようにして、ID順での降順並び替えなどもできるようにしたいので、上に記載したようなID管理にしたいなと考えております。
ID専用のテーブルに1レコードだけ作って、そこにIDの数字部分の最大値を入れる方法はどうでしょうか?
(二人が同時にIDをカウントアップしようとすると、数字がダブってしまう可能性はありますが。。。)
「いいね!」 2
yunsu
2022 年 5 月 13 日午前 4:07
5
ご返信ありがとうございます。
お手数おかけしますが、できたら具体的な実装方法をご教授いただけますと大変助かります…!
お恥ずかしいですが、当方全く検討がついておらず…
「いいね!」 1
このようなイメージですか?
これであれば、
number型のフィールドをデータベース内に作成し、デフォルトの値を設定しておきます。
1枚目の画像のように、データを作成する際に
Do a search forでデータを取得し、+1したいnumber を値が大きい順番に並び替え、
一番値の大きいnumberに+1して作成するようにしています。
「いいね!」 1
AA-0001
の000の部分がなくても良い(AA-X)のであれば、slugを使うのが一番簡単です。
set sulgでAAのみを設定すれば、重複する場合Bubble側で自動的に連番を設定してくれます。
一人、設定したいAAの値が設定されてしまうので、これは事前にSlugを埋めておけば、その後は想定通りです。
例)
AA
AA-1
AA-2
AA-3
「いいね!」 4
yunsu
2022 年 5 月 13 日午前 6:05
8
ご返信ありがとうございます。
slugはそのような使い方ができるのですね。勉強になります。
もしAA-1に割り振られたユーザーを削除した場合は、重複していないとみなされその後登録したユーザーにAA-1が割り振られる可能性があるのでしょうか?
「いいね!」 1
yunsu
2022 年 5 月 13 日午前 6:08
9
ご返信ありがとうございます。
ご教授いただいたやり方ですと、 Turtle01様の場合はデフォルトを100000と設定していらっしゃるので、100001・100002・100003とユーザーIDが作成されていくということでしょうか?
「いいね!」 1