本文已参与【新人创作礼】活动 ,一起开启掘金创作之路
1、创建指定模型
# (1)、artisan命令快捷方式创建 通过phpstorm代码编辑工具 打开terminal 可以快速创建你想创建的Model模型 这样创建的模型会指定在app\Models 文件夹里面 你也可以自定义Model目录
php artisan make:model Models/Order
# (2)、手动创建 这种方式初期使用的人较多 一旦你发现了快捷方式 效率方面 高下立判 相信你也会选择你习惯的方式
2、快速转换字段类型
# Model模型中的$casts属性 提供了将某字段的数据类型转换为某些其他数据类型的方法。
# 例如 order表里面的一个字段 delivered_time(发货时间)
protected $casts = ['delivered_time' => 'datetime:Y-m-d']
# delivered_time 属性将在你使用的时候转换为 datetime 类型,即使你数据库中存储的是timestamp 也可以应用到其他的类型的转换上面 这里就不再一一列举
# 通过上面的这一步操作 就可以很方便的使用 以 Y-m-d 的格式返回的 delivered_time 属性,所以你不需要在Blade模板文件中进行繁琐的转换操作。
3、设置数据库字段的访问权限(是否可以使用)
# 某些字数据库字段如果不想被包含在模型中时,例如app_token属性。此时Model中的$hidden属性就可以开始表演了。
protected $hidden = ['app_token']
# 这里hidden属性其实和黑名单的作用有点类似。当然,你也可以用$visible属性来设置属性的白名单。
# 当在模型中设置了visible属性时,其他的属性将会自动隐藏。这个方式就像fillable和guarded属性一样。
protected $visible = ['game_name','game_desc'];
4、合并数据库字段多属性的快捷方式
# 有时候你想将多个属性合并为一个属性,或者你仅仅想要格式化属性。此时我们可以使用Model的这个方法。
# 假设你有一个 Area 模型,并且它们具有 province_name 和 city_name 属性。如果你想要展示省市的话,可以这么操作做:
public function getFullAreaNameAttribute() {
return "{$this->province_name}省{$this->city_name}市";
}
# 要想在模板中获取省市完整表示的值,你可以这样操作:
$area->full_area_name
5、快捷设置字段的展现方式
# 这允许你对值进行操作,并在模型的$attributes属性上设置操作值。
# 如果想展示的字段需要全部为大写字母时。
public function setUserNameAttribute($value) {
$this->attributes['user_name'] = strtoupper($value);
}
$user->user_name = 'YAOMING';
.....未完待续