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


PHP JTable::getPrimaryKey方法代码示例

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


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

示例1: onContentAfterSave

 /**
  * This method will be executed once the content is save
  *
  * @param   string $context Save context
  * @param   JTable $content JTable class of the content
  * @param   bool   $isNew   If the record is new or not
  *
  * @return void
  */
 public function onContentAfterSave($context, $content, $isNew)
 {
     //  If the user has create a new menu item, let's create it.
     if ($context == 'com_menus.item' && $isNew) {
         NenoHelper::createMenuStructure();
     } elseif ($content instanceof JTable) {
         /* @var $db NenoDatabaseDriverMysqlx */
         $db = JFactory::getDbo();
         $tableName = $content->getTableName();
         /* @var $table NenoContentElementTable */
         $table = NenoContentElementTable::load(array('table_name' => $tableName), false);
         if (!empty($table)) {
             // If the record has changed the state to 'Trashed'
             if (isset($content->state) && $content->state == -2) {
                 $primaryKeys = $content->getPrimaryKey();
                 $this->trashTranslations($table, array($content->{$primaryKeys[0]}));
             } else {
                 $fields = $table->getFields(false, true);
                 /* @var $field NenoContentElementField */
                 foreach ($fields as $field) {
                     if ($field->isTranslatable()) {
                         $primaryKeyData = array();
                         foreach ($content->getPrimaryKey() as $primaryKeyName => $primaryKeyValue) {
                             $primaryKeyData[$primaryKeyName] = $primaryKeyValue;
                         }
                         $field->persistTranslations($primaryKeyData);
                     }
                 }
                 $languages = NenoHelper::getLanguages(false);
                 $defaultLanguage = NenoSettings::get('source_language');
                 foreach ($languages as $language) {
                     if ($language->lang_code != $defaultLanguage) {
                         $shadowTable = $db->generateShadowTableName($tableName, $language->lang_code);
                         $properties = $content->getProperties();
                         $query = 'REPLACE INTO ' . $db->quoteName($shadowTable) . ' (' . implode(',', $db->quoteName(array_keys($properties))) . ') VALUES(' . implode(',', $db->quote($properties)) . ')';
                         $db->setQuery($query);
                         $db->execute();
                     }
                 }
             }
         }
     }
 }
开发者ID:andresmaeso,项目名称:neno,代码行数:52,代码来源:neno.php


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