本文整理汇总了PHP中CActiveRecord::remove方法的典型用法代码示例。如果您正苦于以下问题:PHP CActiveRecord::remove方法的具体用法?PHP CActiveRecord::remove怎么用?PHP CActiveRecord::remove使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CActiveRecord
的用法示例。
在下文中一共展示了CActiveRecord::remove方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: save
/**
* Сохранение данных поручим модели чтобы
* контроллер не нагружать
*/
public function save()
{
/**
* Извлечем все данные из текущей модели.
* Мы будем сохранять их по отдельности
*/
$user = $this->user;
$roles = array();
$groups = array();
if (array_key_exists("groups", $user)) {
$groups = $user["groups"];
unset($user["groups"]);
}
if (array_key_exists("roles", $user)) {
$roles = $user["roles"];
unset($user["roles"]);
}
$userObj = new CUser();
$userObj->setAttributes($user);
if ($this->changePassword == 1) {
if ($this->newPassword !== "") {
$userObj->password = md5($this->newPassword);
}
}
$userObj->save();
$this->user = $userObj;
/**
* Удаляем старые упоминания о группах, в которых
* пользователь состоял
*/
foreach (CActiveRecordProvider::getWithCondition(TABLE_USER_IN_GROUPS, "user_id = " . $userObj->getId())->getItems() as $ar) {
$ar->remove();
}
foreach ($groups as $group) {
$ar = new CActiveRecord(array("user_id" => $userObj->getId(), "group_id" => $group, "id" => null));
$ar->setTable(TABLE_USER_IN_GROUPS);
$ar->insert();
}
/**
* Исключаем из личных прав пользователей те, которые совпадают с правами
* на задачу
*
* 08.11.2014
* Больше так не делаем - пусть система работает тривиально. Если это
* личные права, то они до конца личные
*
foreach ($userObj->getGroups()->getItems() as $group) {
foreach ($group->getRoles()->getItems() as $role) {
if (array_key_exists($role->getId(), $roles)) {
if ($role->level == $roles[$role->getId()]) {
unset($roles[$role->getId()]);
}
}
}
}
*/
/**
* Удаляем старые и сохраняем отличающиеся
*/
foreach (CActiveRecordProvider::getWithCondition(TABLE_USER_HAS_ROLES, "user_id = " . $userObj->getId())->getItems() as $ar) {
$ar->remove();
}
/**
* Сохраняем личные права пользователя
*/
foreach ($roles as $role => $level) {
/**
* Можно индивидуально запрещать доступ к задаче
*/
// if ($level != 0) {
$ar = new CActiveRecord(array("id" => null, "user_id" => $userObj->getId(), "task_id" => $role, "task_rights_id" => $level));
$ar->setTable(TABLE_USER_HAS_ROLES);
$ar->insert();
// }
}
}