0
Thumbsup

いい質問だ

0

Thumbsdown

うーん

ACSのPostsメソッドでusernameを取得する方法

shamo
shamo 0

投稿日:2015-06-17 07:18:02

お世話になります。
下記のようにACSのCloud.Posts.queryでpostしたユーザーのidではなくusername(ログインの際に入力されたログイン名、Users.username)を取得してidとして表示するにはどうすればいいでしょうか。
よろしくお願いします。

Cloud.Posts.query({
    page: 1,
    per_page: 20,
    where: {
        reviews_count: { '$gt': 1.0 }
    }
}, function (e) {
    if (e.success) {
        alert('Success:\n' +
            'Count: ' + e.posts.length);
        for (var i = 0; i < e.posts.length; i++) {
            var post = e.posts[i];
            alert('id: ' + post.id + '\n' +
                'id: ' + post.id + '\n' +
                'title: ' + post.title + '\n' +
                'content: ' + post.content + '\n' +
                'updated_at: ' + post.updated_at);
        }
    } else {
        alert('Error:\n' +
            ((e.error && e.message) || JSON.stringify(e)));
    }
});

http://docs.appcelerator.com/arrowdb/latest/#!/api/Posts-method-query



回答

k0sukey
k0sukey
360
Tcad_icon Tcmd_icon

Thumbsup

いい回答

0

Thumbsdown

うーん

Relational Fieldsを使えば取得できるかと思います。ただ、データを作るときに関連付けが必要なので、Cloud.Posts.createにも手を入れる必要がありますね。

http://docs.appcelerator.com/arrowdb/latest/#!/guide/relationalfields

Cloud.Usersが丸ごと関連付けられるので、返却値のデータ量が増えます。もしかしたら、sel/unselで指定してあげれば必要のないフィールドを間引くことができるかもしれませんので、こちらもお試しください。


早い回答,まことにありがとうございます。 ただ、すいませんが、できればRelational Fieldsを使った取得方法とCloud.Posts.createをどのように書けば良いかお聞かせいただけませんでしょうか? Relational Fieldsに関しては、添付いただいた公式ページのa custom car objectが何を表しているのかわからないのですが、 [ACS_User]owner_idがUsers.idなどで取得できるidでしょうか? そのidを使ってid.username などのようにすればいいでしょうか? また、いまCloud.Posts.createは以下のような簡単なものです。 Cloud.Posts.create(data, function(e) { if(e.success) { callback(); } else { //alert('Error:' + ((e.error && e.message) || JSON.stringify(e))); alert("コンテンツを入力してください"); } }); お手数ですが、よろしくお願いします。 --- shamo

ログインすると回答することができます。