laravel--模型中各种属性详解
首先以这个模型为例
首先看,
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--模型中各种属性详解相关推荐
- CSS中line-height属性详解(CSS之四)
CSS中line-height属性详解 基本概念 line-height,又称行高,指的是两行文字基线之间的距离,又可以称为这行文字所占的高度. 图中两行基线之间的距离就是行高,基线相关可以查看CSS ...
- DIV css中cursor属性详解-鼠标移到图片变换鼠标形状 (转)
css中cursor属性详解-鼠标移到图片变换鼠标形状 语法: cursor : auto | all-scroll | col-resize| crosshair | default | hand ...
- Android中shape属性详解
一.简单使用 刚开始,就先不讲一堆标签的意义及用法,先简单看看shape标签怎么用. 1.新建shape文件 首先在res/drawable文件夹下,新建一个文件,命名为:shape_radius.x ...
- laravel 5.1 Model 属性详解
<?phpnamespace Illuminate\Database\Eloquent;/*** 下面提到某些词的含义:* 1.覆盖: 在继承该类 \Illuminate\Database\El ...
- Vue中watch监听数据变化以及watch中各属性详解
watch使用的几种方法 通过watch监听data数据的变化,数据发生变化时,就会打印当前的值 data(){return {msg: '你在想屁吃!',info: '555...',} } wat ...
- Hibernate 中配置属性详解(hibernate.properties)
转自:https://blog.csdn.net/shudaqi2010/article/details/70324843 Hibernate能在各种不同环境下工作而设计的, 因此存在着大量的配置参数 ...
- jpa 中 orphanRemoval 属性详解
1.jpa 中 orphanRemoval 属性,如果为 true 的话,想要删掉子集合数据,那么调用子集合list 的 clear 方法清空,并且断关系可以直接在数据库中删除子集合数据, 不能直接设 ...
- Django模型之Meta属性详解
Django模型类的Meta是一个内部类,它用于定义一些Django模型类的行为特性.而可用的选项大致包含以下几类 abstract 这个属性是定义当前的模型是不是一个抽象类.所谓抽象类是不会对应数据 ...
- DW中CSS属性详解
作者:未知 来源:5D多媒体 在Dreamweaver的CSS样式里包含了W3C规范定义的所有CSS1的属性,Dreamweaver把这些属性分为Type(类型).Background(背 ...
最新文章
- Redis-3.2.6 配置文件中文翻译
- 【mongoDB】测试使用gridfs,配置一个分片服务器集群
- 单链表逆序的多种方式
- Python-语句结构
- python接口自动化测试二十二:文件下载
- 配置Outlook连接Exchange
- 《Android游戏编程入门经典》——4.6节问与答
- objC 类名后圆括号的意义
- LSTM模型结合动态SIR模型
- JAVA获取CKplayer真是地址_[Java教程]使用CKplayer插件在网页中嵌入视频的方法(常用笔记2)...
- [渝粤教育] 盐城工学院 材料物理性能 参考 资料
- 计算机网络技术报告一份,计算机网络技术》实验的报告.doc
- NeRF神经辐射场学习笔记(二)——Pytorch版NeRF实现以及代码注释
- isolate两三事
- 【Tool】常用 GIT 命令参阅
- 在HTML中实现两个div并排显示
- ctf misc 学习总结大合集
- Android中实现播放背景音乐功能
- [转载] 七龙珠第一部——第036话 恐怖的玛斯鲁塔
- 去信任外包虚荣地址生成
热门文章
- android实现双向绑定,Android使用DataBinding实现双向绑定(一)
- MySQL数据库反向生成powerdesigner模型
- 扫地机器人水箱背景_家友扫地机器人拖地水箱配件(米家扫地机器人1代版)体验(Case Closed)...
- plugin.super mysql_使用MySQ Clone Plugin部署MySQL Group Replication
- 评分卡模型开发(八)--主标尺设计及模型验证
- 人脸对齐(二十)--PRN
- pip 离线安装_安装不上python的模块怎么办?别怕,我这有妙招!
- 计算机系统基础知识——校验码之海明码(Hamming Code)
- String s = new String(“xyz“);创建了几个字符串对象?
- I/O写入的原子性(Double Write)