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"; } } }
/** * 注册用户。 * 注册流程需要保存四个模型: * - 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; }