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


PHP CActiveRecord::getPrimaryKey方法代码示例

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


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

示例1: guessObjectName

 /**
  * @param CActiveRecord $model
  * @param string        $default
  * @return array|mixed|null|string
  */
 public static function guessObjectName(CActiveRecord $model, $default = '?')
 {
     if (isset($model->name)) {
         return $model->name;
     }
     if (isset($model->title)) {
         return $model->title;
     }
     $pk = $model->getPrimaryKey();
     if (is_array($pk)) {
         // Clé composite, on laisse tomber pour le moment
         return $default;
     }
     if (is_null($pk)) {
         return $default;
     }
     return $pk;
 }
开发者ID:ChristopheBrun,项目名称:hLib,代码行数:23,代码来源:ActiveRecordHelper.php

示例2: equals

 /**
  * Compares current active record with another one.
  * The comparison is made by comparing table name and the primary key values of the two active records.
  * @param CActiveRecord $record record to compare to
  * @return boolean whether the two active records refer to the same row in the database table.
  */
 public function equals($record)
 {
     return $this->tableName() === $record->tableName() && $this->getPrimaryKey() === $record->getPrimaryKey();
 }
开发者ID:omonra,项目名称:blog,代码行数:10,代码来源:CActiveRecord.php

示例3: isDescendant

 /**
  * Является ли текущий объект потомком для модели из параметров
  * @param DaActiveRecord $model
  */
 public function isDescendant(CActiveRecord $model, $checkSelf = false)
 {
     if ($checkSelf && $this->owner->getPrimaryKey() == $model->getPrimaryKey()) {
         return true;
     }
     return $this->getParentById($model->getPrimaryKey()) !== null;
 }
开发者ID:kot-ezhva,项目名称:ygin,代码行数:11,代码来源:ActiveRecordTreeBehavior.php

示例4: getPrimaryKey

 /**
  *### .getPrimaryKey()
  *
  * Helper function to return the primary key of the $data
  * IMPORTANT: composite keys on CActiveDataProviders will return the keys joined by comma
  *
  * @param CActiveRecord $data
  *
  * @return null|string
  */
 protected function getPrimaryKey($data)
 {
     if ($this->dataProvider instanceof CActiveDataProvider) {
         $key = $this->dataProvider->keyAttribute === null ? $data->getPrimaryKey() : $data->{$this->keyAttribute};
         return is_array($key) ? implode(',', $key) : $key;
     }
     if ($this->dataProvider instanceof CArrayDataProvider || $this->dataProvider instanceof CSqlDataProvider) {
         return is_object($data) ? $data->{$this->dataProvider->keyField} : $data[$this->dataProvider->keyField];
     }
     return null;
 }
开发者ID:yinhe,项目名称:yincart,代码行数:21,代码来源:TbExtendedGridView.php

示例5: Save

 /**
  * Переопределенная функция сохранения пользователя.
  * Помимо сохранения данных пользователя, присваиваются выбранные права доступа
  * 
  * @param type $runValidation
  * @param type $attributes
  * @throws CHttpException
  */
 public function Save($runValidation = true, $attributes = null)
 {
     /* $selectedRows - массив выбранных ролей пользователя */
     $selectedRows = (string) filter_input(INPUT_POST, 'items') !== '' ? json_decode((string) filter_input(INPUT_POST, 'items'), true) : [];
     /* $_POST['oper'] может быть "edit" или "add", редактирование или добавление новой записи */
     if ((string) filter_input(INPUT_POST, 'oper') === '') {
         throw new CHttpException(500, 'Отсутствует POST переменная "oper"');
     }
     /* ИД пользователя, который редактируется, если необходим */
     $editid = (string) filter_input(INPUT_POST, 'editid');
     if ((string) filter_input(INPUT_POST, 'oper') === 'edit' && $editid === '') {
         throw new CHttpException(500, 'Отсутствует POST переменная "editid"');
     }
     /* Имя сценария, может быть "NewUser" - проверяет введеный пароль и подтверждение на совпадение.
      * Используется при добавлении нового пользотваеля, или смене пароля */
     $scenario = (string) filter_input(INPUT_POST, 'scenario');
     if ($scenario === 'NewUser') {
         $this->password = CPasswordHelper::hashPassword($this->password);
     }
     /* Хэшируем новый пароль */
     /* Сохраняем модель пользователя и присваиваем роли */
     if (parent::save($runValidation, $attributes) !== false) {
         $auth = Yii::app()->authManager;
         /* Удаляем все роли пользователя при сохранении изменений профиля пользователя */
         if ($editid !== '' && $scenario === '') {
             $assigned_roles = Yii::app()->authManager->getAuthAssignments($editid);
             foreach (array_keys($assigned_roles) as $AuthItem) {
                 $auth->revoke($AuthItem, $editid);
             }
         }
         /* Присваиваем выбранные роли пользователю */
         if (count((array) $selectedRows) > 0) {
             foreach (array_keys($selectedRows) as $AuthItem) {
                 $auth->assign($AuthItem, parent::getPrimaryKey());
             }
             Yii::app()->authManager->save();
         }
     }
 }
开发者ID:vovancho,项目名称:baseportal,代码行数:47,代码来源:User.php

示例6: deleteRecord

 /**
  * @param CActiveRecord $model
  * @param $type
  */
 protected function deleteRecord(CActiveRecord $model, $type)
 {
     Yii::app()->db->createCommand()->delete('{{exchange1c}}', 'object_id=:object_id AND object_type=:object_type', array(':object_id' => $model->getPrimaryKey(), ':object_type' => $type));
 }
开发者ID:buildshop,项目名称:bs-common,代码行数:8,代码来源:Exchange1cModuleEvents.php

示例7: afterSave

 public function afterSave()
 {
     $this->_originalKey = parent::getPrimaryKey();
     $result = parent::afterSave();
     return $result;
 }
开发者ID:karimsafwat,项目名称:yii-extensions,代码行数:6,代码来源:CrudModel.php

示例8: Save

 /**
  * Переопределенная функция сохранения группы LDAP.
  * Помимо сохранения данных группы LDAP, присваиваются выбранные права доступа
  * 
  * @param type $runValidation
  * @param type $attributes
  * @throws CHttpException
  */
 public function Save($runValidation = true, $attributes = null)
 {
     /* $selectedRows - массив выбранных ролей группы LDAP */
     $selectedRows = (string) filter_input(INPUT_POST, 'items') !== '' ? json_decode((string) filter_input(INPUT_POST, 'items'), true) : [];
     /* $_POST['oper'] может быть "edit" или "add", редактирование или добавление новой записи */
     if ((string) filter_input(INPUT_POST, 'oper') === '') {
         throw new CHttpException(500, 'Отсутствует POST переменная "oper"');
     }
     /* ИД группы LDAP, который редактируется, если необходим */
     $editid = (string) filter_input(INPUT_POST, 'editid');
     $oper = (string) filter_input(INPUT_POST, 'oper');
     if ($oper === 'edit' && $editid === '') {
         throw new CHttpException(500, 'Отсутствует POST переменная "editid"');
     }
     /* Сохраняем модель группы LDAP и присваиваем роли */
     if (parent::save($runValidation, $attributes) !== false) {
         /*  $auth = Yii::app()->authManager; */
         /* Удаляем все роли группы LDAP при сохранении изменений профиля групп LDAP */
         if ($editid !== '') {
             AuthAssignmentLdap::model()->deleteAll('groupid = :groupid', array(':groupid' => $editid));
         }
         /* Присваиваем выбранные роли группе LDAP */
         if ($editid === '' && $oper === 'add') {
             $editid = parent::getPrimaryKey();
         }
         if (count((array) $selectedRows) > 0) {
             foreach (array_keys($selectedRows) as $AuthItem) {
                 $model = new AuthAssignmentLdap();
                 $model->itemname = $AuthItem;
                 $model->groupid = $editid;
                 $model->save();
             }
         }
     }
 }
开发者ID:vovancho,项目名称:baseportal,代码行数:43,代码来源:Groupldap.php

示例9: _resolvePrimaryAttributes

 /**
  * Resolves primary key attributes (name => value).
  * 
  * @param CActiveRecord $record record to resolve primary key
  * 
  * @return array primary key attributes
  */
 private static function _resolvePrimaryAttributes($record)
 {
     $key = $record->getMetaData()->tableSchema->primaryKey;
     $primaryAttributes = $record->getPrimaryKey();
     if (is_array($key)) {
         return $primaryAttributes;
     } else {
         return array($key => $primaryAttributes);
     }
 }
开发者ID:hansenmakangiras,项目名称:disperindag,代码行数:17,代码来源:CopyBehavior.php


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