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


PHP Shop::isTableAssociated方法代码示例

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


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

示例1: load

    /**
     * Load ObjectModel
     * @param $id
     * @param $id_lang
     * @param $entity ObjectModel
     * @param $entity_defs
     * @param $id_shop
     * @param $should_cache_objects
     * @throws PrestaShopDatabaseException
     */
    public function load($id, $id_lang, $entity, $entity_defs, $id_shop, $should_cache_objects)
    {
        // Load object from database if object id is present
        $cache_id = 'objectmodel_' . $entity_defs['classname'] . '_' . (int) $id . '_' . (int) $id_shop . '_' . (int) $id_lang;
        if (!$should_cache_objects || !Cache::isStored($cache_id)) {
            $sql = new DbQuery();
            $sql->from($entity_defs['table'], 'a');
            $sql->where('a.`' . bqSQL($entity_defs['primary']) . '` = ' . (int) $id);
            // Get lang informations
            if ($id_lang && isset($entity_defs['multilang']) && $entity_defs['multilang']) {
                $sql->leftJoin($entity_defs['table'] . '_lang', 'b', 'a.`' . bqSQL($entity_defs['primary']) . '` = b.`' . bqSQL($entity_defs['primary']) . '` AND b.`id_lang` = ' . (int) $id_lang);
                if ($id_shop && !empty($entity_defs['multilang_shop'])) {
                    $sql->where('b.`id_shop` = ' . (int) $id_shop);
                }
            }
            // Get shop informations
            if (Shop::isTableAssociated($entity_defs['table'])) {
                $sql->leftJoin($entity_defs['table'] . '_shop', 'c', 'a.`' . bqSQL($entity_defs['primary']) . '` = c.`' . bqSQL($entity_defs['primary']) . '` AND c.`id_shop` = ' . (int) $id_shop);
            }
            if ($object_datas = Db::getInstance()->getRow($sql)) {
                if (!$id_lang && isset($entity_defs['multilang']) && $entity_defs['multilang']) {
                    $sql = 'SELECT *
							FROM `' . bqSQL(_DB_PREFIX_ . $entity_defs['table']) . '_lang`
							WHERE `' . bqSQL($entity_defs['primary']) . '` = ' . (int) $id . ($id_shop && $entity->isLangMultishop() ? ' AND `id_shop` = ' . (int) $id_shop : '');
                    if ($object_datas_lang = Db::getInstance()->executeS($sql)) {
                        foreach ($object_datas_lang as $row) {
                            foreach ($row as $key => $value) {
                                if ($key != $entity_defs['primary'] && array_key_exists($key, $entity)) {
                                    if (!isset($object_datas[$key]) || !is_array($object_datas[$key])) {
                                        $object_datas[$key] = array();
                                    }
                                    $object_datas[$key][$row['id_lang']] = $value;
                                }
                            }
                        }
                    }
                }
                $entity->id = (int) $id;
                foreach ($object_datas as $key => $value) {
                    if (array_key_exists($key, $entity)) {
                        $entity->{$key} = $value;
                    } else {
                        unset($object_datas[$key]);
                    }
                }
                if ($should_cache_objects) {
                    Cache::store($cache_id, $object_datas);
                }
            }
        } else {
            $object_datas = Cache::retrieve($cache_id);
            if ($object_datas) {
                $entity->id = (int) $id;
                foreach ($object_datas as $key => $value) {
                    $entity->{$key} = $value;
                }
            }
        }
    }
开发者ID:ortegon000,项目名称:tienda,代码行数:69,代码来源:Adapter_EntityMapper.php

示例2: getEntityIds

    /**
     * @param string $entity
     * @param int $id_shop
     * @return array|bool
     */
    public static function getEntityIds($entity, $id_shop, $active = false, $delete = false)
    {
        if (!Shop::isTableAssociated($entity)) {
            return false;
        }
        return Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS('
			SELECT entity.`id_' . pSQL($entity) . '`
			FROM `' . _DB_PREFIX_ . pSQL($entity) . '_shop`es
			LEFT JOIN ' . _DB_PREFIX_ . pSQL($entity) . ' entity
				ON (entity.`id_' . pSQL($entity) . '` = es.`id_' . pSQL($entity) . '`)
			WHERE es.`id_shop` = ' . (int) $id_shop . ($active ? ' AND entity.`active` = 1' : '') . ($delete ? ' AND entity.deleted = 0' : ''));
    }
开发者ID:gks-stage,项目名称:prestashop,代码行数:17,代码来源:Shop.php

示例3: updateAssoShop

 /**
  * Update the associations of shops
  *
  * @param int $id_object
  */
 protected function updateAssoShop($id_object)
 {
     if (!Shop::isFeatureActive()) {
         return;
     }
     if (!Shop::isTableAssociated($this->table)) {
         return;
     }
     $assos_data = $this->getSelectedAssoShop($this->table);
     // Get list of shop id we want to exclude from asso deletion
     $exclude_ids = $assos_data;
     foreach (Db::getInstance()->executeS('SELECT id_shop FROM ' . _DB_PREFIX_ . 'shop') as $row) {
         if (!$this->context->employee->hasAuthOnShop($row['id_shop'])) {
             $exclude_ids[] = $row['id_shop'];
         }
     }
     Db::getInstance()->delete($this->table . '_shop', '`' . bqSQL($this->identifier) . '` = ' . (int) $id_object . ($exclude_ids ? ' AND id_shop NOT IN (' . implode(', ', array_map('intval', $exclude_ids)) . ')' : ''));
     $insert = array();
     foreach ($assos_data as $id_shop) {
         $insert[] = array($this->identifier => (int) $id_object, 'id_shop' => (int) $id_shop);
     }
     return Db::getInstance()->insert($this->table . '_shop', $insert, false, true, Db::INSERT_IGNORE);
 }
开发者ID:ramzzes52,项目名称:Uni3,代码行数:28,代码来源:AdminController.php

示例4: getAssoShop

 protected static function getAssoShop($table, $id_object = false)
 {
     if (Shop::isTableAssociated($table)) {
         $type = 'shop';
     } else {
         return;
     }
     $assos = array();
     foreach ($_POST as $k => $row) {
         if (!preg_match('/^checkBox' . Tools::toCamelCase($type, true) . 'Asso_' . $table . '_([0-9]+)?_([0-9]+)$/Ui', $k, $res)) {
             continue;
         }
         $id_asso_object = !empty($res[1]) ? $res[1] : $id_object;
         $assos[] = array('id_object' => (int) $id_asso_object, 'id_' . $type => (int) $res[2]);
     }
     return array($assos, $type);
 }
开发者ID:abdoumej,项目名称:libsamy,代码行数:17,代码来源:AdminTab.php

示例5: isMultishop

 /**
  * Checks if object is multi-shop object.
  *
  * @return bool
  */
 public function isMultishop()
 {
     return Shop::isTableAssociated($this->def['table']) || !empty($this->def['multilang_shop']);
 }
开发者ID:jpodracky,项目名称:dogs,代码行数:9,代码来源:ObjectModel.php

示例6: hasMultishopEntries

 /**
  * Check if there is more than one entries in associated shop table for current entity
  *
  * @since 1.5.0
  * @return bool
  */
 public function hasMultishopEntries()
 {
     if (!Shop::isTableAssociated($this->def['table']) || !Shop::isFeatureActive()) {
         return false;
     }
     return (bool) Db::getInstance()->getValue('SELECT COUNT(*) FROM `' . _DB_PREFIX_ . $this->def['table'] . '_shop` WHERE `' . $this->def['primary'] . '` = ' . (int) $this->id);
 }
开发者ID:ramzzes52,项目名称:Uni3,代码行数:13,代码来源:ObjectModel.php


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