Model 的修改器在 Model::update 时是不生效的,有没有什么技巧或者扩展包解决?
Laravel的Model::update这类批量更新的方法是不会触发Eloquent的修改器等方法的,这让我每次觉得修改器有点鸡肋,反而让开发过程提心吊胆,总要想着这个操作修改器会不会被触发。
难道只能下面这样吗?
$data = Model::where(xxxx,xx)->get();
foreach($data as $k => $item) {
$item->xxx =xxx;
$item->save();
}
Model::where(xxx,xxx)->firstOrFail()->update([xxx]);
我是很不愿意这样的,其实仅仅想用到修改器而已,结果迫使一个Update操作一定得先select一下,实测是两次sql请求,对数据库是不必要的负担。想问下大家是如何处理这个问题的(其实我只是希望在入库前对数据做一些格式化处理什么的)?
推荐文章: