Laravel框架 Models模型常用属性

2067  ·  2019-12-28 11:45:13  ·  长沙网站建设  ·  网站开发

$fillable 和 $guarded 两个属性是用来控制批量赋值的,批量赋值是什么意思?并不是数据填充,一次填充到数据库 N 条记录的概念,这里(在讲 $fillable 和 $guarded)所谓的批量赋值仅是指在创建记录的时候传入的属性值。所谓的批量是相对于 N 个请求来说的批量。

$fillable = [
    '可批量填充的字段'
];

$guarded = [
    '与上相反'
];

$hidden = [
    '模型转换为数组时应当隐藏的字段'
];

/uploads/images/seo.jpgisable = [
    '与上相反'
];

$appends = [
    '模型转换为数组时应当追加的虚拟字段' // 例如访问器
];

$with = [
    '应当预加载的关联关系',
];

$attributes = [
    '字段名' => '字段默认值'
];

$casts = [
    '字段名' => '自动类型转换的目标类型'
];

$dates = [
    '应当被转换为日期时间的字段'
];

$touches = [
    '模型更新时应当一并更新的关联关系'
];

// 以下为部分扩展包使用的属性

// https://github.com/dwightwatson/validating
$rules = [
    '字段' => '模型自身验证规则'
];

// https://github.com/Askedio/laravel-soft-cascade
$softCascade = [
    '软删除时一并删除的关联'
];

// https://github.com/spatie/eloquent-sortable
$sortable = [
    'order_column_name' => 'order_column',
    'sort_when_creating' => true,
];

// https://github.com/nicolaslopezj/searchable
$searchable = [
    'columns' => [],
    'joins' => [],
];
  1. 属性 $casts

$casts 属性提供了一个便利的方法来将数据库字段值转换为常见的数据类型,$casts 属性应是一个数组,且数组的键是那些需要被转换的字段名,值则是你希望转换的数据类型。支持转换的数据类型有 :

integer,
real,
float,
double,
string,
boolean,
object,
array,
collection,
date,
datetime 和 timestamp。
例如:

protected $casts = [
    'email_verified' => 'boolean',
];
  1. 属性 $dates

/**

  • 表示 last_used_at 字段是一个时间日期类型,在之后的代码中 $this->last_used_at 返回的就是一个时间日期对象
  • (确切说是 Carbon 对象,Carbon 是 Laravel 默认使用的时间日期处理类)。
  • @var array

*/

protected $dates = [
    'last_used_at'
];
  1. 属性$timestamps

// 没有 created_at 和 updated_at 字段

public $timestamps = false;

本文地址:Laravel框架 Models模型常用属性

在线留言

免费获取解决方案!

Write here

我们提供的产品解决方案 >>

百度SEO

01 AI万词霸屏

搜狗SEO

02 关键词优化(SEO)

SEO诊断

03 免费SEO诊断

SEO培训

04 SEO营销推广

SEO顾问

05 SEO方案定制

网站降权

06 网站降权恢复

百度SEO

07 整站优化

搜狗SEO

08 微信小程序

SEO诊断

09 微商城开发

SEO培训

10 网站竞价托管

SEO顾问

11 社区团购系统

网站降权

12 积分管理系统

为您推荐