laravel實踐6.laravel模型文件


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 屬性來定義


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM