close
遷移 (Migration)
假設我要建立並管理一個名為"admin"的資料表, 在Laravel中使用 artisan命令的 make:migration 命令來建立遷移檔案
php artisan make:migration create_admin_table --create="admin"
執行完成後會在 app/database/migrations/ 目錄下建立一個含有時間戳的遷移檔 2017_05_24_083647_create_admin_table.php
接著要在默認的 up()方法中, 建立你想使用在這個資料表內的欄位
use Illuminate\Support\Facades\Schema; use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Migrations\Migration; class CreateAdminTable extends Migration { public function up() { Schema::create('admin', function (Blueprint $table) { $table->increments('id'); $table->string('account'); $table->string('password'); $table->string('name'); $table->string('email'); $table->string('remember_token', 100)->nullable(); $table->timestamps(); }); } public function down() { Schema::dropIfExists('admin'); } }
*如果這個資料表是用來記錄 admin、user 這類的登入資訊, 請記得新增"remember_token"欄位來記錄session資訊
接著執行
php artisan migrate
完成之後可在資料庫中看到"admin"這張資料表
接著便可以對這張資料表做填充資料的動作
填充 (Seeder)
先使用 Artisan 命令建立一份Seeder檔案
php artisan make:seeder AdminTableSeeder
執行完成後會在 app/database/seeds 下看到這份檔案, 檔案內默認只有一個方法 run()
開啟 AdminTableSeeder.php , 並在 run() 函式內建立想要填充的資料內容
public function run() { DB::table('admin')->insert([ 'account' => str_random(5), 'password' => Hash::make('password'), 'name' => str_random(10), 'email' => str_random(10).'@mail.com', 'modify_time' => '2015-04-03 03:13:30', 'ip' => '1.1.1.1', ]); }
然後開啟 app/database/seeds/DatabaseSeeder.php , 並在 run()函式中寫入
$this->call(AdminTableSeeder::class);
透過 $this->call() 調用各個不同的填充檔案
最後執行 Artisan 命令進行填充即可。
php artisan db:seed //填充所有資料表 php artisan db:seed --class=AdminTableSeeder //填充單一資料表
文章標籤
全站熱搜
留言列表