當前位置: 首頁>>代碼示例>>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;未經允許,請勿轉載。