Laravel Model 技巧

参考 https://learnku.com/articles/42737
参考 https://zhuanlan.zhihu.com/p/80195674

Laravel Model 技巧

  • Model 属性
    • appends
      • 追加关联模型
    • casts
    • touch

Model 属性

appends

在 attributes 里追加键值对

protected $appends = ['is_adult'];
public function getIsAdultAttribute()
{
	return $this->attribute['age'] > 18;
}
$user = User::paginate(10);
$user->each->append('is_adult');

追加关联模型

protected $appends = [
	'blogs:id,title'
]

casts

访问字段时, 对字段进行转换

protected $casts = [
    'is_published' => 'boolean',
	'published_at' => 'datetime:Y-m-d'
];

touch

更新关联模型的更新时间

protected $touches = ['blog']

你可能感兴趣的:(Laravel)