今天要把用指令传进来的资料写进DB完成注册,首先我们要在DB中创建一张Users的表
CREATE TABLE ironman.Users (
id INT auto_increment Primary key,
account varchar(100) NOT NULL,
password varchar(100) NOT NULL,
name varchar(100) NOT NULL
)
好的,我们现在先想一下注册帐号的步骤是什麽
那我们开始实作第一步吧
先学学如何select资料吧
$user = DB::table('users')->where('account', $account)->first();
dd($user);
好,他回我null,表示说当$user === null时,我就可以把资料写进资料库
if($user === null){
// insert data
}
如何insert data呢
DB::table('users')->insert([
'account' => $account,
'password' => $password,
'username' => $name
]);
laravel有提供Hash::make来散列密码
DB::table('users')->insert([
'account' => $account,
'password' => Hash::make($password),
'username' => $name
]);
OK...默默地写完了,好我们来试着注册看看吧
php artisan sign-up myaccount 23acCC_ yourname
成功了,可以再输入一次试试看会怎样,结果发现,重复注册时,没跳讯息XD
补一下
$account = $this->argument('account');
$password = $this->argument('password');
$username = $this->argument('username');
$validator = Validator::make(['password' => $password], [
'password' => 'regex:' . SignUp::PASSWORD_REGEX
]);
if ($validator->fails()) {
$this->error("密码需要6位数以上,并且至少包含大写字母、小写字母、数字、符号各一");
return 1;
}
$user = DB::table('users')->where('account', $account)->first();
if($user !== null){
$this->error("帐号重复注册");
return 1;
}
DB::table('users')->insert([
'account' => $account,
'password' => Hash::make($password),
'name' => $username
]);
return 0;
OK,完成啦,明天来做登入验证!
<<: Day7-TypeScript(TS)基础型别资料Part 2
>>: 【Day 7】Google Apps Script - 使用 Google Docs 撰写 Demo 用的 API 文件
这一篇可能满好用的 安装 Tailwind 这边建议稍微看一次 Tailwind 官网的安装说明 会...
以下是到目前为止的架构图,已经成功的将 ViewModel 层的全部商业逻辑移到了 Domain 层...
前言 昨天我们成功开启相机并且回传相片,但我还没设定要回传到哪, 今天我一样要在不设定回传到哪的情况...
运算子主要是利用符号或单词,来运算前後的值并回传结果 范例: 我们到 Chrome 浏览器的 Con...
昨天跟大家初步地分享了 Cypress 怎麽安装、 Cypress 的资料夹结构 、 Cypres...