当前位置: 首页>>代码示例>>PHP>>正文


PHP Relationship::setRelatedObjectId方法代码示例

本文整理汇总了PHP中Relationship::setRelatedObjectId方法的典型用法代码示例。如果您正苦于以下问题:PHP Relationship::setRelatedObjectId方法的具体用法?PHP Relationship::setRelatedObjectId怎么用?PHP Relationship::setRelatedObjectId使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Relationship的用法示例。


在下文中一共展示了Relationship::setRelatedObjectId方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: setValuesArray

 protected function setValuesArray($valuesArray)
 {
     $this->valuesArray = $valuesArray;
     //      if(!isset($valuesArray["attribute_metadata"])) {
     //       throw new Exception("Unable to initialize item without metadata");
     //      }
     $this->initializeBaseFields($valuesArray);
     $cachedAttributeMetadata = array();
     foreach ($valuesArray as $key => $value) {
         if (preg_match('/^' . preg_quote("_ca_attribute_") . "/", $key)) {
             $va_tmp = explode('attribute_', $key);
             $elementId = $va_tmp[1];
             $this->addAttributeMetadata($elementId, $valuesArray["attribute_metadata"][$elementId]);
             $this->setAttributeValue($elementId, $value);
         }
     }
     //read attribute extended values
     if (isset($valuesArray["extended_values"]) && is_array($valuesArray["extended_values"])) {
         $attritbutes = $valuesArray["extended_values"];
         foreach ($attritbutes as $key => $attributevalues) {
             foreach ($attributevalues as $attribute) {
                 $this->addAttributeExtendedValue($key, array_pop($attribute['opa_values']));
             }
         }
     }
     if (isset($valuesArray["relationships"]) && is_array($valuesArray["relationships"])) {
         //read relations data and wrap it into Relationship.php array()
         $relations = $valuesArray["relationships"];
         foreach ($relations as $key => $value) {
             $relationship = new Relationship(array('relation_id' => $value["relation_id"], 'related_object_type' => $value["related_object_type"], 'item_info_service' => $this->itemInfoController));
             if (isset($value["displayname"])) {
                 $displayname = $value["displayname"];
             } elseif (isset($value['name_singular'])) {
                 $displayname = $value['name_singular'];
             } elseif (isset($value["name"])) {
                 $displayname = $value["name"];
             } else {
                 $displayname = '';
             }
             $relationship->setDisplayName($displayname);
             $relationship->setRelationshipTypeId($value["relationship_type_id"]);
             $relationship->setRelationshipTypeName($value["relationship_type_name"]);
             $relationship->setRelatedObjectId($value);
             $this->addRelation($relationship);
         }
     }
     if (isset($valuesArray["labels"]) && is_array($valuesArray["labels"])) {
         $labels = $valuesArray["labels"];
         foreach ($labels as $lang) {
             foreach ($lang as $id => $value) {
                 $label_id = $id;
                 if (isset($value['label_id'])) {
                     $label_id = $value['label_id'];
                 }
                 if (isset($value['name'])) {
                     $name = $value['name'];
                 } elseif (isset($value['name_plural'])) {
                     $name = $value['name_plural'];
                 }
                 $label = new Label(array('label_id' => $label_id, 'locale' => $value['locale_language'], 'is_preferred' => $value['is_preferred'], 'value' => $name));
                 $this->addLabel($label);
             }
         }
     }
     if (isset($valuesArray["tags"]) && is_array($valuesArray["tags"])) {
         foreach ($valuesArray["tags"] as $tag_array) {
             if (!isset($tag_array["moderated_by_user_id"]) || $tag_array["moderated_by_user_id"] == null || ($tag_array["moderated_by_user_id"] = '')) {
                 // comment has not been moderated yet
             } else {
                 $newtag = new Tag(array('tag_id' => $tag_array["tag_id"], 'locale_id' => $tag_array["locale_id"], 'values' => $tag_array));
                 $this->addTag($newtag);
             }
         }
     }
     if (isset($valuesArray["rating"]) && is_array($valuesArray["rating"])) {
         $this->setTotalNumberOfVotes($valuesArray["rating"]["total"]);
         $this->setAverageRating($valuesArray["rating"]["average"]);
     }
     if (isset($valuesArray["comments"]) && is_array($valuesArray["comments"])) {
         foreach ($valuesArray["comments"] as $comment_arr) {
             if (!isset($comment_arr["moderated_by_user_id"]) || $comment_arr["moderated_by_user_id"] == null || ($comment_arr["moderated_by_user_id"] = '')) {
                 // comment has not been moderated yet
             } else {
                 $newcomment = new Comment(array('comment_id' => $comment_arr["comment_id"], 'locale_id' => $comment_arr["locale_id"], 'values' => $comment_arr));
                 $this->addComment($newcomment);
             }
         }
     }
     if (isset($valuesArray["hierarchy"]) && is_array($valuesArray["hierarchy"])) {
         $ancestors = array();
         $ancestorArr = $valuesArray['hierarchy']['ancestors'];
         foreach ($ancestorArr as $k => $a) {
             $options = array('idno' => $a['idno'], 'parent_id' => $a['parent_id'], 'item_info_controller' => $this->itemInfoController, 'table' => $this->getTable());
             $ancestor = new BasicNode($a['id'], $options);
             $labelArr = $a['label'];
             while (count($labelArr) == 1) {
                 $labelArr = array_pop($labelArr);
             }
             $label_id = 0;
             if (isset($labelArr['label_id'])) {
//.........这里部分代码省略.........
开发者ID:respati,项目名称:ca-sdk,代码行数:101,代码来源:BaseModel.php


注:本文中的Relationship::setRelatedObjectId方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。