Example #1
0
 public function actionAdd($count = 100)
 {
     for ($i = 0; $i < $count; $i++) {
         list($nickname, $first_name, $last_name, $gender, $phone, $email, $password) = $this->generateUserInfo();
         $user = new User(['password' => $password, 'status' => self::USER_STATUS_TEST_ACTIVE]);
         $profile = $user->create(Profile::className(), ['nickname' => $nickname, 'gender' => $gender, 'last_name' => $first_name, 'first_name' => $last_name]);
         $email = $user->createEmail(['email' => $email]);
         $phone = $user->createPhone(['phone' => $phone]);
         if ($user->register([$profile, $email, $phone])) {
             echo $user->id . "\n";
         }
     }
 }
Example #2
0
 /**
  * 注册用户。
  * 注册流程需要保存四个模型:
  * - User
  * - Profile
  * - Email
  * - Phone
  * 注册过程可能会抛出异常,而此处不处理异常。
  * 如果注册成功,返回注册用户的ID。
  * 如果不成功,则返回false。
  * @return boolean
  */
 public function register()
 {
     if (!$this->validate()) {
         return false;
     }
     $user = new User(['password' => $this->password, 'type' => User::TYPE_USER]);
     $profile = $user->createProfile(['nickname' => $this->nickname, 'first_name' => $this->first_name, 'last_name' => $this->last_name, 'gender' => $this->gender]);
     $email = $user->createEmail($this->email);
     $phone = $user->createPhone($this->phone);
     $result = $user->register([$profile, $email, $phone]);
     if ($result === true) {
         return $user->id;
     }
     return false;
 }