2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ローコードプラットフォームSPIRALのデータベースをAPI経由でCRUD操作する

2
Last updated at Posted at 2025-09-05

SPIRALは、主にエンタープライズ向けのローコードプラットフォームになります。ローコードプラットフォームなので、プログラミング知識がなくともWebアプリケーションを開発できるのが魅力です。

SPIRALでは、各種データをテーブルに保存します。そのデータはAPI経由でCRUD操作できます。プラットフォーム内部から操作する場合には、専用のSDKが使えるので、より手軽になります。

本記事では、この内部用SDKを利用したデータのCRUD操作の流れを紹介します。

準備

テーブルの作成

今回のテーブルは 内部呼び出しAPI「データベース(レコード)」を使用した疎通確認サンプルプログラム | 記事一覧 | SPIRAL ナレッジサイト を参考に、 疎通確認DB(apiTest) としています。カラム(フィールド)は以下の通りです。

フィールド フィールド名 差替えキーワード 属性
テキストフィールド (32 bytes) 名前 name 入力必須
重複不可
セレクト セレクト select なし
セレクト項目:
1:ラベル1
2:ラベル2
3:ラベル3
メールアドレス(大・小文字無視) メールアドレス mail なし

データ登録を行う処理

以下のコードを開発メニューの カスタムプログラム にて新規作成します。PHPスクリプトに貼り付けたら、実行ボタンを押します。引数は何もなしでOKです。

<?php
//APIコミュニケーターのセット
$api_communicator = $SPIRAL->getSpiralApiCommunicator();

// =======================
// API/insert 1件
// =======================

// リクエストパラメータのセット
$request = new SpiralApiRequest();

// DBの指定
$request->put("db_title", "apiTest");

// 登録するデータの指定
$request->put("data", [
  ["name"=>"name","value"=>"スパイラル太郎"],
  ["name"=>"mail","value"=>"test001@example.com"],
  ["name"=>"select","value"=>"1"]
]);

// APIリクエスト
$response = $api_communicator->request("database", "insert", $request);
?>

このコードはデータの登録を行う処理です。処理を実行すると、以下のようにデータが登録されます。

名前 セレクト メールアドレス
スパイラル太郎 ラベル1 test001@example.com

エラーハンドリングについて

エラー時には $response->get("code") の返却値で判断できます。 0 でなければエラーです。以後のコードもすべて同じエラーハンドリングになります。

// レスポンスコード取得
$code = $response->get("code");
// メッセージ取得
$message = $response->get("message");

// エラーハンドリング
if ($code != "0") { // 応答コードが0以外の場合
  echo ("エラーが発生しました。(code:" . $code . " message:" . $message . ")\n");
} else { // 応答コードが0の場合
  echo ("正常終了。(code:" . $code . ")\n");
  print_r($response);
}

データの取得

登録したデータを取得するコードです。 select_columns を使って、取得したいカラムを指定します。

<?php
//APIコミュニケーターのセット
$api_communicator = $SPIRAL->getSpiralApiCommunicator();

// =======================
// API/select
// =======================

// リクエストパラメータ
$request = new SpiralApiRequest();

// DBの指定
$request->put("db_title", "apiTest");

// 取得するフィールドタイトルの指定
$request->put("select_columns",["name","mail","select"]);

// APIリクエスト
$response = $api_communicator->request("database", "select", $request);
?>

以下のような結果が得られれば成功です。

image.png

検索条件の指定

検索条件を指定する場合には、以下のようにします。

// 検索条件の指定
$request->put("search_condition",[
  ["name"=>"select","value"=>"1","logical_connection"=>"or"],
  ["name"=>"select","value"=>"2","logical_connection"=>"or"]
]);

これは、SQLでいうところの WHERE select = '1' OR select = '2' に相当します。

データの更新

データを更新するスクリプトです。更新内容は data に対して指定します。 name キーで更新対象のカラムを、 value キーで新しい値を指定します。

以下の場合は更新対象を定めていないので、全件更新になります。

<?php
//APIコミュニケーターのセット
$api_communicator = $SPIRAL->getSpiralApiCommunicator();

// =======================
// API/update
// =======================

// リクエストパラメータのセット
$request = new SpiralApiRequest();

// DBの指定
$request->put("db_title", "apiTest");

// 更新するデータの指定
$request->put("data", [
  ["name"=>"name","value"=>"すぱいらる次郎"],
  ["name"=>"select","value"=>"2"],
  ["name"=>"mail","value"=>"update001@example.com"]
]);

// APIリクエスト
$response = $api_communicator->request("database", "update", $request);
?>

更新対象の絞り込み

更新対象のユニークキーである id がわかっている場合には、以下のようにして絞り込みが可能です。

$request->put("id","更新したいレコードのid");

何らかの検索条件を指定する場合には、以下のようにします。

$request->put("search_condition",[
  ["name"=>"フィールドタイトル","value"=>"検索する値"],
  ["name"=>"フィールドタイトル","value"=>"検索する値"],
  ["name"=>"フィールドタイトル","value"=>"検索する値"]
]);

あらかじめ決めておいた抽出ルールを利用する場合には、以下のようにします。

$request->put("select_name","抽出ルール");

削除

データの削除を行うコードです。更新と同様の処理になります。

<?php
//APIコミュニケーターのセット
$api_communicator = $SPIRAL->getSpiralApiCommunicator();

// =======================
// API/delete
// =======================

// リクエストパラメータ
$request = new SpiralApiRequest();

// DBの指定
$request->put("db_title", "apiTest");

// APIリクエスト
$response = $api_communicator->request("database", "delete", $request);
?>

id を指定して削除する場合には、以下のように記述します。

// idの指定
$request->put("id", "2");

// APIリクエスト
$response = $api_communicator->request("database", "delete", $request);

データの一括処理

データは1件ずつも可能ですが、バルクで一括登録も可能です。 columns で指定した順番どおりに、二次元配列で指定します。

<?php
//APIコミュニケーターのセット
$api_communicator = $SPIRAL->getSpiralApiCommunicator();

// =======================
// API/bulk_insert
// =======================

// リクエストパラメータのセット
$request = new SpiralApiRequest();

// DBの指定
$request->put("db_title", "apiTest");

// 挿入するデータの該当フィールドタイトルの配列
$request->put("columns",["name","select","mail"]);

// 登録するデータ
// columnsで指定したフィールド数×登録行数の二次元配列
$request->put("data", [
    ["スパイラル太郎","1","test001@example.com"],
    ["すぱいらる次郎","2","test002@example.com"],
    ["螺旋三郎","3","test003@example.com"]
]);

// APIリクエスト
$response = $api_communicator->request("database", "bulk_insert", $request);
?>

注意点

今回解説したコードは、すべてSPIRALの内部でのみ利用できるものになります。外部から実行はできないので注意してください。

まとめ

今回はSPIRALのデータを内部からCRUD操作する方法を解説しました。一括処理などもできるので、大量のデータも安心して処理できます。

現在、SPIRALではエンジニアβという無料アカウントを配布しています。SPIRALに興味がある型はこちらから試してみてください。

API SPIRAL ver.1 サポートサイト

2
0
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
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?