レコードの削除を行ないたいのですが、削除を行なう際に対応するidsを配列しなければならないため、その処理の仕方が上手く行きません
機能としては、erasureメソッドにはresultRecordという引数を持たせており、そのレコード内のidを元にアプリBのレコードを削除します
apuriB.erasure = function(resultRecord) {
※idsには値が入ったことがコンソール上から確認できました。
var ids=[];
ids=resultRecord[0].$id.value
// REST APIパラメータ
var params = {
// Bアプリ番号
"app": apuriB.APP_ID,
"ids": ids
};
kintone.api(kintone.api.url('/k/v1/records', true), 'DELETE', params).then(function(resp) {
}, function(resp) {
alert("削除に失敗しました。");
});
};
たいさん
cstapの瀧ヶ平です。
ids変数にresultRecord(これは配列でしょうか?)の0番目の要素の$id.valueを代入しているようですが、レコードの削除APIのドキュメントを読むとわかるとおり、idsというパラメータは配列で要求されています。
そのため、for文を使ってresultRecordの配列からidの値をidsの配列にids.push(resultRecord[i].$id.value)した後パラメータを作成するか、resultRecordが配列であればresultRecord.mapメソッドを使って(参考: Array.prototype.map)作成したidを抽出した配列をids変数に代入するなどの修正が必要かと思います。
参考になりますでしょうか
cstapの瀧ヶ平さん
コメント有難う御座います
resultRecordは配列です。
試しにids.pushを用いて、削除を行なったのですが、
このような記述法でどうでしょうか?
var ids=[];
for(var i=0; i<=7; i++){
ids.push(resultRecord[i].$id.value)
}
// REST APIパラメータ
var params = {
// アプリ番号
"app": apuriB.APP_ID,
"ids": ids
};