0

複数の子オブジェクト「画像」を持つことができる親オブジェクト「リスト」(不動産リストを考えてください)があります。

親をアーカイブするときに、すべての子オブジェクトをアーカイブ済みとしてマークする Cloud Code 関数を実装しようとしています。

何らかの理由で、クエリの結果は常に空です。理由がわかりません。私の「エラー:画像が定義されていません」というエラーが毎回表示されます。

Image クラスには Listing へのポインターがありますが、Listing から Image への関係はありません。

Parse.Cloud.afterSave("Listing", function(request) {

    Parse.Cloud.useMasterKey();

    // Handle archiving. If a listing is marked as archived, mark the image as archived also.

    query = new Parse.Query("Image");
    query.equalTo("listing", request.object);

    query.first({
        success: function(image) {

            if (typeof image != "undefined") {
                image.archived(request.object.get("archived"));
                image.save();

                console.log("Done");
            }
            else {
                console.log("Error: image undefined.");
            }
        },
        error: function(error) {
            console.error("Got an error " + error.code + " : " + error.message);
        },
    });
);

どんな助けでも感謝します。

4

1 に答える 1

0

以下を使用して、これを機能させることができました。

Parse.Cloud.afterSave("Listing", function(request) {

    Parse.Cloud.useMasterKey();

    // Handle archiving. If a listing is marked as archived, mark the image as archived also.

    query = new Parse.Query("Image");
    query.equalTo("listing", request.object);

    query.find({
        success: function(images) {

            if (typeof images != "undefined") {

                for (i = 0 ; i < images.length; i++) {

                    var theImage = images[i];
                    theImage.set("archived", request.object.get("archived"));
                    theImage.save();
                }

                console.log("Done");
            }
            else {
                console.log("Error: image undefined.");
            }
        },
        error: function(error) {
            console.error("Got an error " + error.code + " : " + error.message);
        },
    });
);
于 2014-09-13T03:16:54.517 に答える