資料庫遷移就像是資料庫的#版本控制
#,可以讓你的團隊輕鬆修改並分享應用程式的資料庫架構
php artisan make:migration create_users_table --create=users php artisan make:migration add_votes_to_users_table --table=users //添加字段
新的遷移檔案會被放置在database/migrations
目錄中。每個遷移檔案的名稱都包含了一個時間戳,以便讓 Laravel
確認遷移的順序。
--table
和 --create
選項可用來指定資料表的名稱,或是該遷移執行時是否將建立的新資料表。
遷移類別通常包含兩個方法:up
和 down
#。 up
方法可為資料庫新增新的資料表、欄位或索引,而 down
方法則是 up
方法的反向操作。可以在這兩個方法中使用 Laravel
資料庫結構產生器來建立以及修改資料表。
/** * 运行数据库迁移 * * @return void */ public function up() { Schema::create('flights', function (Blueprint $table) { $table->increments('id'); $table->string('name')->comment('字段注解'); $table->string('airline')->comment('字段注解'); $table->timestamps(); }); } /** * 回滚数据库迁移 * * @return void */ public function down() { Schema::drop('flights'); }
資料表、欄位、索引:https://laravel-china.org/doc...
運行所有未完成的遷移:php artisan migrate
回滾最後一次遷移,可以使用rollback
指令:
php artisan migrate:rollback php artisan migrate:rollback --step=5 //回滚迁移的个数 php artisan migrate:reset //回滚应用程序中的所有迁移 php artisan migrate:refresh // 命令不仅会回滚数据库的所有迁移还会接着运行 migrate 命令 php artisan migrate //恢复
php artisan make:seeder UsersTableSeeder
/** * 运行数据库填充 * * @return void */ public function run() { DB::table('users')->insert([ 'name' => str_random(10), 'email' => str_random(10).'@gmail.com', 'password' => bcrypt('secret'), ]); }
#利用模型工廠類別來大量建立測試資料
php artisan make:factory PostFactory -m Post // -m 表示绑定的model
在DatabaseSeeder
類別中,你可以使用call
方法來運行其他的seed
類別。
/** * Run the database seeds. * * @return void */ public function run() { $this->call([ UsersTableSeeder::class, PostsTableSeeder::class, CommentsTableSeeder::class, ]); }
預設情況下,db:seed
指令將執行DatabaseSeeder
類,這個類別可以用來呼叫其它Seed
類別。不過,你也可以使用--class
選項來指定一個特定的seeder
類別:
php artisan db:seed php artisan db:seed --class=UsersTableSeeder
你也可以使用migrate:refresh
命令來填充資料庫,該命令會回滾並重新運行所有遷移。這個指令可以用來重建資料庫:
php artisan migrate:refresh --seed
建立模型:
php artisan make:model Models/Goods php artisan make:model Models/Goods -m //同时生成对应的migration文件
##三、路由
批次建立路由:(資源路由)php artisan make:controller UserController --resource
Route::resource('user', 'UserController'); //批量一次性定义`7`个路由
根據唯一字段值取得詳情,利於SEO
Laravel 5.5 Nginx 設定:
location / {
try_files $uri $uri/ /index.php?$query_string; }location = /favicon.ico { access_log off; log_not_found off; }
4.1 快速驗證
4.2 表單請求驗證
php artisan make:request StoreBlogPost
1. find 和get
find: 透過主鍵傳回指定的資料
$result = Student::find(1001);###get - 查詢多條資料結果###
DB::table("表名")->get(); DB::table("表名")->where(条件)->get();
创建Model类型,方法里面声明两个受保护属性:$table(表名)和$primaryKey(主键)
<?php namespace App; use Illuminate\Database\Eloquent\Model; class Student extends Model{ protected $table = 'student'; protected $primaryKey = 'id'; }
以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!
相关推荐:
以上是關於Laravel基礎Migrations的解析的詳細內容。更多資訊請關注PHP中文網其他相關文章!