问答 / 7946 / 6 / 创建于 7年前
更新模型时如何过滤一些不必要的字段? 有没有什么优雅的办法?
用过request->only,但是好像有个问题,如果更新的数据里面没有这个字段的话,会默认赋null值,这样会导致本来不想更新这个值,但是被null值覆盖了。
也用过定义一个数组然后判断更新的字段是否在这个数组里面,总是感觉不太优雅。
试试 'array_only($request->all(), ['name', 'mobile']);'
@zhuzhichao request 好像确实没提供类似的方法,这个是 laravel 的辅助函数?这个相对来说挺简单明了的,谢谢。
@oustn 是辅助函数。挺好用的。
// only 过滤 $request->only('name', 'mobile')
但是有没有类似 thinkPHP5 中,在模型中,使用 allowField 过滤的?
$user = new User(); // 过滤post数组中的非数据表字段数据 $user->allowField(true)->save($_POST,['id' => 1]);
model里面加这个 protected $guarded = ['id'];
使用 Eloquent Model + fillable 属性
我要举报该,理由是:
推荐文章: