今天來講講MVC結構中的"M",也就是model,基本上model會對應到你的資料庫,每個model對應一個table,其中也可以放一些function,讓controller可以重複的使用。
php artisan make:model {model name}
使用上述指令,馬上就可以建立model,例如我要建立一個名為Users的model
其內容為
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Users extends Model
{
//
}
裏面等等裏面要加上資料庫中的table名稱,還有其中的column,你可以設置白名單,和黑名單,也可以設定一些隱藏參數,例如讀取使用者資料時,不會顯示"密碼"這個欄位。範例中我隨便加上一些內容,實際要對應到DB中的table資料喔
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Users extends Model
{
protected $table = 'users';
public $primaryKey = 'id';
protected $fillable = ['username', 'password', 'email', 'image', 'remember_token'];
protected $hidden = [
'password', 'remember_token',
];
}
說明:
這樣就建立好我的model了,DB連線的部份,請在.env裏面設定。
以上是我個人的設定,model要依照你DB中的table做設定,詳細的使用方法可以參考laravel的官方網站。
使用方法很簡單,在controller中直接使用這個類別即可,你可以看到model的最上面有個namespace App;
那你只要在controller最上面填入
use App\Users;
這樣就可以在controller中使用Todos這個model了。
例如:
public function index()
{
$index = Users::all();
return $index;
}
上面範例我使用Todos::all();
這是laravel中的Eloquent語法,代表取出Todos這張資料表中所有資料,Eloquent語法我在之後的文章中會講到。
今天就講到這邊,這次講了model的基本用法,model還有很多可以設定的屬性,在官方文件中都有介紹,我就不再贅述了,下次會講model如何做關聯,敬請期待。