首先以这个模型为例

首先看,

1.$guarded属性,$fillable属性

$guarded属性一般是和$fillable对应的,不是一起存在但是互相使用,他们都是laravel的批量赋值方法create()的,一个设置属性参数,有点这个意思。

在create方法收集数据赋值的时候

$flight = App\Flight::create(['name' => 'Flight 10']);

$fillable就像是可以被赋值属性的“白名单”,还可以选择使用$guarded$guarded属性包含你不想被赋值的属性数组。所以不被包含在其中的属性都是可以被赋值的,因此,$guarded方法就像“黑名单”。当然,你只能同时使用其中一个——而不是一起使用:

$fillable属性里面的字段被填上,说明这个字段是可以赋值的,其他的所有属性不能被赋值

$guarded属性里面的字段被填上,说明这个字段不可以赋值,其他的所有属性都能被赋值

所有$guarded相对来说在模型中出现频率比那个高。

2.$dates属性

  protected $dates = ['start_time','close_time','created_at','updated_at'];

里面所包含的字段,就是当使用这个属性的时候,可以直接后面跟着carbon类时间操作的任何方法,例如一个模型:

<?phpnamespace App;use Illuminate\Database\Eloquent\Model;class User extends Model{/*** 应该被调整为日期的属性** @var array*/protected $dates = ['created_at', 'updated_at', 'disabled_at'];
}

使用到这个属性disabled,那么这个属性在$dates里面是存在的,所以他后面可以直接跟getTimestamp()方法,来各种处理。getTimestamp()方法是取时间戳的,他是carbon类下的兄弟。

$user = App\User::find(1);
return $user->disabled_at->getTimestamp();

如果你在$dates里面将 disabled_at属性去除,OK,你在用getTimestamp()方法就不行了,失去了操作carbon类方法的能力

3.$attributes属性

默认给数据库里的一个字段赋值

  protected $attributes = ['user_limit' => 100,];

默认给这个模型表的user_limit字段附上100的值

4.$timestamps属性

laravel默认会默认在create()方法创建添加数据的时候,将create_at字段更新,如果是进行修改操作,将会更新updated_at属性里面的值。

如果将

public $timestamps = false;

设为假的话,表示create方法执行时,不会对create_at和updated_at修改

转载于:https://www.cnblogs.com/huangshoushi/p/5889217.html

laravel--模型中各种属性详解相关推荐

  1. CSS中line-height属性详解(CSS之四)

    CSS中line-height属性详解 基本概念 line-height,又称行高,指的是两行文字基线之间的距离,又可以称为这行文字所占的高度. 图中两行基线之间的距离就是行高,基线相关可以查看CSS ...

  2. DIV css中cursor属性详解-鼠标移到图片变换鼠标形状 (转)

    css中cursor属性详解-鼠标移到图片变换鼠标形状 语法:  cursor : auto | all-scroll | col-resize| crosshair | default | hand ...

  3. Android中shape属性详解

    一.简单使用 刚开始,就先不讲一堆标签的意义及用法,先简单看看shape标签怎么用. 1.新建shape文件 首先在res/drawable文件夹下,新建一个文件,命名为:shape_radius.x ...

  4. laravel 5.1 Model 属性详解

    <?phpnamespace Illuminate\Database\Eloquent;/*** 下面提到某些词的含义:* 1.覆盖: 在继承该类 \Illuminate\Database\El ...

  5. Vue中watch监听数据变化以及watch中各属性详解

    watch使用的几种方法 通过watch监听data数据的变化,数据发生变化时,就会打印当前的值 data(){return {msg: '你在想屁吃!',info: '555...',} } wat ...

  6. Hibernate 中配置属性详解(hibernate.properties)

    转自:https://blog.csdn.net/shudaqi2010/article/details/70324843 Hibernate能在各种不同环境下工作而设计的, 因此存在着大量的配置参数 ...

  7. jpa 中 orphanRemoval 属性详解

    1.jpa 中 orphanRemoval 属性,如果为 true 的话,想要删掉子集合数据,那么调用子集合list 的 clear 方法清空,并且断关系可以直接在数据库中删除子集合数据, 不能直接设 ...

  8. Django模型之Meta属性详解

    Django模型类的Meta是一个内部类,它用于定义一些Django模型类的行为特性.而可用的选项大致包含以下几类 abstract 这个属性是定义当前的模型是不是一个抽象类.所谓抽象类是不会对应数据 ...

  9. DW中CSS属性详解

    作者:未知 来源:5D多媒体       在Dreamweaver的CSS样式里包含了W3C规范定义的所有CSS1的属性,Dreamweaver把这些属性分为Type(类型).Background(背 ...

最新文章

  1. Redis-3.2.6 配置文件中文翻译
  2. 【mongoDB】测试使用gridfs,配置一个分片服务器集群
  3. 单链表逆序的多种方式
  4. Python-语句结构
  5. python接口自动化测试二十二:文件下载
  6. 配置Outlook连接Exchange
  7. 《Android游戏编程入门经典》——4.6节问与答
  8. objC 类名后圆括号的意义
  9. LSTM模型结合动态SIR模型
  10. JAVA获取CKplayer真是地址_[Java教程]使用CKplayer插件在网页中嵌入视频的方法(常用笔记2)...
  11. [渝粤教育] 盐城工学院 材料物理性能 参考 资料
  12. 计算机网络技术报告一份,计算机网络技术》实验的报告.doc
  13. NeRF神经辐射场学习笔记(二)——Pytorch版NeRF实现以及代码注释
  14. isolate两三事
  15. 【Tool】常用 GIT 命令参阅
  16. 在HTML中实现两个div并排显示
  17. ctf misc 学习总结大合集
  18. Android中实现播放背景音乐功能
  19. [转载] 七龙珠第一部——第036话 恐怖的玛斯鲁塔
  20. 去信任外包虚荣地址生成

热门文章

  1. android实现双向绑定,Android使用DataBinding实现双向绑定(一)
  2. MySQL数据库反向生成powerdesigner模型
  3. 扫地机器人水箱背景_家友扫地机器人拖地水箱配件(米家扫地机器人1代版)体验(Case Closed)...
  4. plugin.super mysql_使用MySQ Clone Plugin部署MySQL Group Replication
  5. 评分卡模型开发(八)--主标尺设计及模型验证
  6. 人脸对齐(二十)--PRN
  7. pip 离线安装_安装不上python的模块怎么办?别怕,我这有妙招!
  8. 计算机系统基础知识——校验码之海明码(Hamming Code)
  9. String s = new String(“xyz“);创建了几个字符串对象?
  10. I/O写入的原子性(Double Write)