/** * 通过主键,删除一条记录 * @param integer $memberId * @return integer */ public function removeByPk($memberId) { if (($memberId = (int) $memberId) <= 0) { return false; } $portalTblName = $this->getTblprefix() . TableNames::getPortal(); $membersTblName = $this->getTblprefix() . TableNames::getMembers(); $socialTblName = $this->getTblprefix() . TableNames::getSocial(); $sql = 'SELECT `p`.*, `m`.*, `s`.* FROM `' . $portalTblName . '` AS `p` LEFT JOIN `' . $membersTblName . '` AS `m` ON `p`.`member_id` = `m`.`member_id` LEFT JOIN `' . $socialTblName . '` AS `s` ON `m`.`member_id` = `s`.`member_id` WHERE `m`.`member_id` = ?'; $row = $this->fetchAssoc($sql, $memberId); if (!$row || !is_array($row) || !isset($row['member_id'])) { return false; } Log::info(sprintf('Portal backup before remove: %s', serialize($row)), 0, __METHOD__); $commands = array(array('sql' => 'DELETE FROM `' . $portalTblName . '` WHERE `member_id` = ?', 'params' => $memberId), array('sql' => 'DELETE FROM `' . $membersTblName . '` WHERE `member_id` = ?', 'params' => $memberId), array('sql' => 'DELETE FROM `' . $socialTblName . '` WHERE `member_id` = ?', 'params' => $memberId)); return $this->doTransaction($commands); }
/** * 通过主键,编辑一条记录 * @param integer $memberId * @param array $params * @return integer */ public function modifyByPk($memberId, array $params = array()) { if (($memberId = (int) $memberId) <= 0) { return false; } $attributes = array(); if (isset($params['realname'])) { $attributes['realname'] = trim($params['realname']); } if (isset($params['sex'])) { $sex = trim($params['sex']); if ($sex !== '') { $attributes['sex'] = $sex; } else { return false; } } if (isset($params['birth_ymd'])) { $birthYmd = trim($params['birth_ymd']); if ($birthYmd !== '') { $attributes['birth_ymd'] = $birthYmd; } } if (isset($params['is_pub_birth'])) { $isPubBirth = trim($params['is_pub_birth']); if ($isPubBirth !== '') { $attributes['is_pub_birth'] = $isPubBirth; } else { return false; } } if (isset($params['birth_md'])) { $attributes['birth_md'] = trim($params['birth_md']); } if (isset($params['anniversary'])) { $attributes['anniversary'] = trim($params['anniversary']); } if (isset($params['is_pub_anniversary'])) { $isPubAnniversary = trim($params['is_pub_anniversary']); if ($isPubAnniversary !== '') { $attributes['is_pub_anniversary'] = $isPubAnniversary; } else { return false; } } if (isset($params['head_portrait'])) { $attributes['head_portrait'] = trim($params['head_portrait']); } if (isset($params['introduce'])) { $attributes['introduce'] = trim($params['introduce']); } if (isset($params['interests'])) { $attributes['interests'] = trim($params['interests']); } if (isset($params['is_pub_interests'])) { $isPubInterests = trim($params['is_pub_interests']); if ($isPubInterests !== '') { $attributes['is_pub_interests'] = $isPubInterests; } else { return false; } } if (isset($params['telephone'])) { $attributes['telephone'] = trim($params['telephone']); } if (isset($params['mobiphone'])) { $attributes['mobiphone'] = trim($params['mobiphone']); } if (isset($params['is_pub_mobiphone'])) { $isPubMobiphone = trim($params['is_pub_mobiphone']); if ($isPubMobiphone !== '') { $attributes['is_pub_mobiphone'] = $isPubMobiphone; } else { return false; } } if (isset($params['email'])) { $attributes['email'] = trim($params['email']); } if (isset($params['is_pub_email'])) { $isPubEmail = trim($params['is_pub_email']); if ($isPubEmail !== '') { $attributes['is_pub_email'] = $isPubEmail; } else { return false; } } if (isset($params['live_country_id'])) { $attributes['live_country_id'] = (int) $params['live_country_id']; } if (isset($params['live_country'])) { $attributes['live_country'] = trim($params['live_country']); } if (isset($params['live_province_id'])) { $attributes['live_province_id'] = (int) $params['live_province_id']; } if (isset($params['live_province'])) { $attributes['live_province'] = trim($params['live_province']); } if (isset($params['live_city_id'])) { $attributes['live_city_id'] = (int) $params['live_city_id']; } if (isset($params['live_city'])) { $attributes['live_city'] = trim($params['live_city']); } if (isset($params['live_district_id'])) { $attributes['live_district_id'] = (int) $params['live_district_id']; } if (isset($params['live_district'])) { $attributes['live_district'] = trim($params['live_district']); } if (isset($params['live_street'])) { $attributes['live_street'] = trim($params['live_street']); } if (isset($params['live_zipcode'])) { $attributes['live_zipcode'] = trim($params['live_zipcode']); } if (isset($params['address_country_id'])) { $attributes['address_country_id'] = (int) $params['address_country_id']; } if (isset($params['address_country'])) { $attributes['address_country'] = trim($params['address_country']); } if (isset($params['address_province_id'])) { $attributes['address_province_id'] = (int) $params['address_province_id']; } if (isset($params['address_province'])) { $attributes['address_province'] = trim($params['address_province']); } if (isset($params['address_city_id'])) { $attributes['address_city_id'] = (int) $params['address_city_id']; } if (isset($params['address_city'])) { $attributes['address_city'] = trim($params['address_city']); } if (isset($params['address_district_id'])) { $attributes['address_district_id'] = (int) $params['address_district_id']; } if (isset($params['address_district'])) { $attributes['address_district'] = trim($params['address_district']); } if (isset($params['address_street'])) { $attributes['address_street'] = trim($params['address_street']); } if (isset($params['address_zipcode'])) { $attributes['address_zipcode'] = trim($params['address_zipcode']); } if (isset($params['qq'])) { $attributes['qq'] = (int) $params['qq']; } if (isset($params['msn'])) { $attributes['msn'] = trim($params['msn']); } if (isset($params['skypeid'])) { $attributes['skypeid'] = trim($params['skypeid']); } if (isset($params['wangwang'])) { $attributes['wangwang'] = trim($params['wangwang']); } if (isset($params['weibo'])) { $attributes['weibo'] = trim($params['weibo']); } if (isset($params['blog'])) { $attributes['blog'] = trim($params['blog']); } if (isset($params['website'])) { $attributes['website'] = trim($params['website']); } if (isset($params['fax'])) { $attributes['fax'] = trim($params['fax']); } $rowCount = 0; if ($attributes === array()) { return $rowCount; } $tableName = $this->getTblprefix() . TableNames::getSocial(); $sql = $this->getCommandBuilder()->createUpdate($tableName, array_keys($attributes), '`member_id` = ?'); $attributes['member_id'] = $memberId; $rowCount = $this->update($sql, $attributes); return $rowCount; }