描述:遷移就像是資料庫中的版本控制,除了基礎功能以外還支援如:回滾 / 重置 / 更新等額外功能 。
檔案存放目錄:database/migrations
。
重要類:Migration
所有自定義遷移檔案類需繼承父類;Schema
類會在up
以及down
方法裡面呼叫,在up
方法中執行該類的create
方法,來建立資料表,create
方法會接收兩個引數:一個是資料表的名稱,另一個則是接收 $table
(Blueprint 例項)的閉包。$table
主要用來管理該資料表的欄位。在down
方法中執行該類的drop
方法,用來執行回滾操作。
重要方法:up
運用遷移的時候被呼叫,down
回滾遷移時被呼叫。
注意事項:本機連線虛擬機器中的資料哭使用了 VirtualBox 虛擬機器的『埠轉發』功能,Homestead 指令碼預設將本機埠 33060 轉發到虛擬機器裡的 3306 埠。所以,只要我們連線本機的 33060 埠,即可讀取虛擬機器中的 MySQL 資料庫。
執行migrate
命令,自動遷移; 執行migrate:rollback
命令,自動回滾遷移。
模型重要屬性:$table
,$fillable
,$hidden
; $table
表示模型約定的資料表;$fillable
表示模型中過濾使用者提交的欄位,只有包含在該屬性中的欄位才能被更新;$hidden
屬性用來隱藏重要的資訊,主要是例項通過陣列或者JSON顯示時呼叫。
laravel新手可以將自帶的使用者模型檔案統一放在自定義目錄Models下,而不是按照laravel本來的路徑App目錄下,這樣有利於新手對MVC的理解;只需要將原本專案中各個檔案中存在的App/Users替換成自定義的路徑即可。
App\Models\User::create();
User::find(1) //查詢指定使用者
User::findOrFail(5) //查詢指定使用者,資料不存在,顯示報錯資訊
User::first() //查詢第一個使用者
User::all() //查詢所有使用者
$user->save() // 儲存更新使用者資訊
$user->update() // 儲存更新使用者資訊