# 18. CURD 實踐之改變用戶表結構
學了這么多 laravel 的知識,該來實踐了,至少要會基本的增刪改查吧,接下來的幾篇都會講解這方面的知識。
之前我們有一個 `user` 表,現在我們往里面加兩個屬性,一個是用戶名 `username`,另一個是出生日期 `dob`。
找到創建 `user` 表的 migration 文件:`database/migrations/2014_10_12_000000_create_users_table.php`。
把它修改如下:
```
// database/migrations/2014_10_12_000000_create_users_table.php
<?php
...
class CreateUsersTable extends Migration
{
public function up()
{
Schema::create('users', function (Blueprint $table) {
$table->increments('id');
...
// 新增下面這兩行
$table->string('username', 32);
$table->date('dob');
...
$table->timestamps();
});
}
public function down()
{
Schema::dropIfExists('users');
}
}
```
現在我們執行一條命令,把所有表結構重建。
```
$ php artisan migrate:refresh
```
執行完輸出的內容大約是這樣的:
```
Rolling back: 2017_08_04_132046_create_photos_table
Rolled back: 2017_08_04_132046_create_photos_table
Rolling back: 2014_10_12_100000_create_password_resets_table
Rolled back: 2014_10_12_100000_create_password_resets_table
Rolling back: 2014_10_12_000000_create_users_table
Rolled back: 2014_10_12_000000_create_users_table
Migrating: 2014_10_12_000000_create_users_table
Migrated: 2014_10_12_000000_create_users_table
Migrating: 2014_10_12_100000_create_password_resets_table
Migrated: 2014_10_12_100000_create_password_resets_table
Migrating: 2017_08_04_132046_create_photos_table
Migrated: 2017_08_04_132046_create_photos_table
```
查看表結構,效果如下:

一般來說,因為這個操作會重新刪除所有表的數據,然后會重新跑 migration,所以這種操作只會在開發環境上用。
完結。
- 0. 介紹
- 1. php 開發環境安裝
- 2. 跑 laravel 的 hello world
- 3. 第一個路由 UsersController
- 4. 在數據庫中創建一條數據
- 5. 簡單的用戶認證
- 6. 修改 User model
- 7. User model 的 getter 方法
- 8. view 的更多知識
- 9. 在 view 中共享變量
- 10. blade layout
- 11. 使用 @include 來整理 view
- 12. Blade if/else/unless/or
- 13. factories, faker and seeding
- 14. Blade foreach
- 15. 分頁
- 16. 用中間件來限制用戶必須登錄
- 17. Route group
- 18. CURD 實踐之改變用戶表結構
- 19. CURD 實踐之為新添加的屬性修改注冊功能
- 20. CURD 實踐之用 username 來代替 email 登錄
- 21. CURD 個人中心頁面
- VIM 的 laravel 插件
- VIM 中有效地查看 php 源碼