2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Hexabase Flutter SDKの使い方(リンクデータの取得)

Last updated at Posted at 2023-03-28

Hexabase(ヘキサベース)は企業向けのBaaS(Backend as a Service)を提供しています。認証やデータストア、ファイルストレージ、リアルタイム通知などの機能があり、企業向けのシステム開発に必要な機能をまるっと提供しています。

APIはREST APIとGraphQLを提供しています。そのAPIをラップしたSDKも開発を進めています。SDKは現在、TypeScriptとDart向けに開発しています。Dart向けのSDKは、もちろんFlutterでも利用できます。

この記事ではFlutter SDKについて、インストールとデータストアでのリンクしたデータの取得方法について解説します。

パッケージとソースコード

パッケージはpub.devで公開しています。

hexabase | Flutter Package

ソースコードはGitHubにて公開しています。ライセンスはMIT Licenseです。

hexabase/hexabase-dart: Hexabase SDK for Dart & Flutter

インストール

インストールは dart pub get で行えます。

dart pub get hexabase

インポート

SDKをインポートします。

import 'package:hexabase/hexabase.dart';

初期化

まずインスタンスを作成します。

var client = Hexabase();

別なファイルで再度インポートした場合には、以下でインスタンスを取得してください。

var client = Hexabase.instance;

リンクについて

リンクはいわゆるリレーションです。データ同士を紐付けることで、関連データとして一度のクエリーでデータを取得できます。

0979 app.hexabase.com - 0328114856.jpg

まず最初に管理画面にて、データベース関連を設定します。

  1. マスター側のデータベース設定を開く
  2. 「データベース関連の設定」タブを開く
  3. 「データベース関連」でリンクを張るテーブルを指定する

詳しくは データベースの関連付け | Hexabase 開発ガイド をご覧ください。

関連データの取得

関連データを取得する際には、HexabaseQueryでincludeを指定してください。

await client.setWorkspace('YOUR_WORKSPACE_ID');
var project = await client.currentWorkspace.project(id: 'YOUR_PROJECT_ID');
var datastore = await project.datastore(id: 'YOUR_DATABASE_ID');
// HexabaseQueryオブジェクト
var query = datastore.query();
// include(true)で関連データを取得します
query.per(100).include(true);

// データを取得
var items = await datastore.items(query: query);

関連データの取り出し

関連データを取得する際には、 getAsItem を利用します。これは items と同じく HexabaseItem オブジェクトです。以下は一例です。

item.getAsItem('FIELD_NAME').title

なお、関連データの内容を変更したい場合には以下のようにしてください。

var parent = item.getAsItem('FIELD_NAME');
parent.set("name", "New name");
await parent.save();

まとめ

Dart SDKはFlutterでも利用できます。Flutterで使えると言うことは、iOS/Androidといったスマートフォンアプリやタブレットアプリはもちろん、Webやデスクトップアプリ開発でも利用できます。ぜひHexabaseをDart SDKとともに活用してください。

関連データを用いると、一般的なデータベースのようなリレーションとしてデータを扱えるようになります。現状は取得のみですが、ぜひ活用してください。

hexabase | Flutter Package

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?