Laravel是一款極受歡迎的PHP Web應用程式框架,它提供了豐富的工具和功能,使開發人員能夠輕鬆建立高效、易於維護的網路應用程式。而其中一個關鍵的功能就是與資料庫的互動操作。在使用Laravel進行開發時,我們經常需要對資料庫進行修改或更新,而本篇文章將帶大家詳細了解Laravel修改資料庫的相關操作。
一、Laravel資料庫遷移
Laravel提供了資料庫遷移(Migration)功能,使得我們可以輕鬆的管理資料庫的版本控制。透過資料庫遷移,我們可以定義資料庫表結構的變化,並透過框架提供的命令快速遷移至新版本的資料庫。具體步驟如下:
Laravel的遷移檔案儲存在database/migrations目錄下,我們可以使用Artisan指令來產生遷移檔案。執行下列指令可以建立一個名為create_users_table的遷移檔案:
php artisan make:migration create_users_table
開啟剛剛產生的遷移檔案(位於database/migrations目錄下),可以看到有一個up函數和一個down函數。 up函數用於執行遷移操作,而down函數用於撤銷遷移操作。
我們可以在up函數中寫一個建立資料庫表的腳本,例如:
Schema::create('users', function (Blueprint $table) {
$table-> ;increments('id');
$table->string('name');
$table->string('email')->unique();
$table- >timestamp('email_verified_at')->nullable();
$table->string('password');
$table->rememberToken();
$table-> timestamps();
});
該腳本將建立一個名為users的資料表,該表包含id、name、email、email_verified_at、password、remember_token和timestamps等7個欄位。
編寫完遷移腳本後,我們可以透過以下指令來執行遷移腳本:
php artisan migrate
此時,Laravel框架會自動根據我們編寫的腳本來建立表格結構,如果資料庫中已經存在了相關表,框架會自動跳過不會執行。
二、Laravel資料庫填充
資料庫填充是Laravel提供的另一個重要功能,可以幫助我們在開發、測試和生產環境中用假資料填充資料庫。例如,當我們需要測試資料的查詢效能時,可以使用填充來填充大量資料。
我們可以使用Artisan指令來建立填滿文件,如下:
php artisan make:seeder UsersTableSeeder
將編寫的填充腳本放到database/seeds目錄下,在UsersTableSeeder中編寫如下程式碼:
use IlluminateDatabaseSeeder;
use IlluminateSupportFacadesDB;
use IlluminateSupportFacadesHash;
use IlluminateSupportStr;
class UsersTableSeeder extends Seeder
{
/** * Run the database seeds. * * @return void */ public function run() { DB::table('users')->insert([ 'name' => Str::random(10), 'email' => Str::random(10).'@gmail.com', 'password' => Hash::make('password'), ]); }
}
該腳本會向users表中插入一筆記錄,包含name、email、password三個字段,其中name和email字段的值是隨機產生的。
我們可以透過以下命令來執行填充腳本:
php artisan db:seed
此時,Laravel框架會自動呼叫我們編寫的填滿腳本,然後將資料插入users表中。
三、Laravel資料庫操作
除了使用資料庫遷移和資料填充來修改資料庫外,我們還可以使用Laravel提供的DB類別來進行資料操作。
DB::table('users')->insert([
'name' => 'John Doe', 'email' => 'johndoe@example.com', 'password' => Hash::make('password'),
]);
該腳本會在users表中插入一筆記錄,包含name、email、password三個字段,其中name和email字段的值都是指定的。
DB::table('users')
->where('id', 1) ->update(['votes' => 1]);
該語句將會將id為1的記錄中的votes字段值設為1。
DB::table('users')->where('votes', '<', 100)->delete( );
該語句將會刪除votes欄位值小於100的所有記錄。
四、結語
本文介紹了Laravel如何修改資料庫,分別介紹了資料庫遷移、資料庫填入和資料庫操作等三種方式。 Laravel中處理資料庫的簡單和高效性使其成為了流行的Web框架之一,對於開發人員來說,學習這些相關功能也是非常必要的。
以上是laravel 修改資料庫的詳細內容。更多資訊請關注PHP中文網其他相關文章!