1.示例:
app/User.php
<?php namespace App; use Illuminate\Notifications\Notifiable; use Illuminate\Contracts\Auth\MustVerifyEmail; use Illuminate\Foundation\Auth\User as Authenticatable; class User extends Authenticatable { use Notifiable; /** * The attributes that are mass assignable. * * @var array */ protected $fillable = [ 'name', 'email', 'password', ]; /** * The attributes that should be hidden for arrays. * * @var array */ protected $hidden = [ 'password', 'remember_token', ]; /** * The attributes that should be cast to native types. * * @var array */ protected $casts = [ 'email_verified_at' => 'datetime', ]; }
Notifiable:
消息通知相關功能引用
Authenticatable:
授權相關功能的引用
綁定數據庫中對應的數據表:
protected $table = 'users';
fillable:
在過濾用戶提交的字段,只有包含在該屬性中的字段才能夠被正常更新:
protected $fillable = [ 'name', 'email', 'password', ];
對用戶密碼或其它敏感信息在用戶實例通過數組或 JSON 顯示時進行隱藏,則可使用 hidden
屬性:
protected $hidden = [ 'password', 'remember_token', ];
2.創建模型
php artisan make:model Models/Article //指定Models為其命名空間
注意:模型類名稱使用 單數 形式來命名
創建模型同時創建遷移文件
php artisan make:model Models/Article -m
將生成current_time_create_articles_table的migration 文件(復數形式)
3.Eloquent 表命名約定
在該文件中,Eloquent Article 模型默認情況下會使用類的「下划線命名法」與「復數形式名稱」來作為數據表的名稱生成規則。如:
- Article 數據模型類對應
articles
表; - User 數據模型類對應
users
表; - BlogPost 數據模型類對應
blog_posts
表;
因此 Eloquent 將會假設 Article 模型被存儲記錄在 articles 數據表中。如果你需要指定自己的數據表,則可以通過 table
屬性來定義