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 属性来定义

posted @ 2019-12-27 17:23  GIC扫地僧  阅读(669)  评论(0编辑  收藏  举报