DBのマルチセレクト項目について、APIでの登録方法を確認させてください。 ■ 項目情報 項目名:AttentionCodes 種別:マルチセレクト 保存形式:文字列(125 bytes) ■ やりたいこと HTML の checkbox(複数選択)で選択された値を、 API /records で マルチセレクト項目として複数件登録したい。
一部抜粋 <input type="checkbox" name="AttentionCodes" value="1"> <input type="checkbox" name="AttentionCodes" value="2"> <input type="checkbox" name="AttentionCodes" value="3">
$AttentionCodes = $SPIRAL->getParam("AttentionCodes");
if ($AttentionCodes !== null && !is_array($AttentionCodes)) {
$AttentionCodes = [$AttentionCodes];
}
// 登録データ作成
$insertData = [];
// 会員請求先情報
$insertData = [
'AttentionCodes' => $AttentionCodes
];
$insertData = array_filter(
$insertData,
function ($v) {
if (is_array($v)) {
return count($v) > 0; // 空配列は除外
}
return !($v === '' || $v === null);
}
);
// 共通モジュールでAPI呼び出し
$resultRecordInsert = $commonBase->apiCurlAction(
"POST",
"/apps/" . APP_ID . "/dbs/" . DB_ID_MemberInfo . "/records",
$insertData
);
// htmlへ返却
$SPIRAL->setTHValue("AttentionCodes", $AttentionCodes);
コメント
ナレッジ
向上チーム
ご連絡いただきましてありがとうございます。 >HTML の checkbox(複数選択)で選択された値を、 >API /records で マルチセレクト項目として複数件登録したい。 コードの共有ありがとうございます。 PHPの最初の$AttentionCodesの取得が送信されてきた値やクエリパラメータの値を 一つ取得する「getParam」を指定しているため、選択肢一つ分の値しか取れていない可能性がございます。 「getParams」を使用の上、「$AttentionCodes」の中身がマルチセレクトの API入出力フォーマットに指定されている形式になっているかご確認の上で 登録、更新の処理を行ってください。 ▼ページのPHP設定 https://support.spiral-platform.com/function/function-site-manage/6898.html#getParamsparamName ▼フィールドタイプリファレンス<マルチセレクトフィールド<API入出力フォーマット https://support.spiral-platform.com/function/function-app-manage/20.html#multiselect ご確認の程、よろしくお願いいたします。
-
いいね
2026年2月2日(月)