使用parse.com在一个查询中获取两个类

时间:2015-01-16 16:17:01

标签: php parse-platform

我目前有class名为活动,另一名叫视频

Activity class包含视频class对象ID

当我查询8个活动行及其相关视频时,它会使我的PHP脚本从 1秒大幅减慢到 10秒

我是否可以在一行中查询这两个类,例如MySQL join查询?

这是我的代码

    $query = new ParseQuery("Activity");

    $query->containedIn("type","video");

    $query->limit($limit);
    $comments = $query->find();

    if(!$queryResults){
        return false;
    }

    foreach($queryResults as $result){

        if($result->get("type") == "post"){

            $content = array(
                "objectId"          =>  $contentQuery->getObjectId(),
                "name"              =>  $contentQuery->get("name"),
                "location"      =>  $contentQuery->get("location")
            );
        }

        $return[] = array(
            "activityObjectId"  =>  $result->getObjectId(),
            "type"              =>  $result->get("type"),
            "content"           =>  $content,
            "user"              =>  $this->user,
            "createdAt"         =>  $result->get("createdAt")
        );
    }

谢谢, 彼得

1 个答案:

答案 0 :(得分:1)

更好的设计是将包含相关对象id的字符串col替换为包含该对象的指针列(实际上)。

赋值更简单(比如JS):

// change this
myActivity.set("videoIDString", myVideo.id);
// to this
myActivity.set("video", myVideo);

...其中'video'是指针类型列,指向Video类。

完成此操作后,您可以通过告诉查询急切地获取视频指针来获取活动及其相关视频:

$query->includeKey("video");