php - PHP:仅当存在替换时才更新字段。如果没有,保持不变
问题描述
我认为这是一个经典的,但在我的 Laravel 控制器之一中,只有在传入请求中存在相应的替换值时,我才需要更新某些字段的值。如果它们不存在,则必须保持不变。到目前为止,我的“最聪明”尝试:
$user->name = $request->name ?: $user->name;
$user->email = $request->email ?: $user->email;
...
使用最新的 PHP 或 Laravel 增强功能是否有更聪明的方法?提前致谢。
解决方案
您可以get()
在请求上使用该方法并将当前值作为默认值传递。
$user->name = $request->get('name', $user->name);
推荐阅读
- r - 堆叠模型上的 ROCR 曲线
- javascript - Ajax,传递已经编码的值
- ios - 有什么方法可以阻止 iOS 中按需资源中的清除/清理资产?
- java - 如何使用表单在spring中将数据从jsp发送到控制器
- android - 如果不回收物品,用什么代替 RecyclerView
- spring - mongodb 聚合中的 $unwind (Spring)
- javascript - 第一个索引图像被渲染,它应该在 componentDidMount 加载之前在屏幕上显示一段时间
- javascript - 使用 Jquery 检查用户是否已将项目添加到列表中
- python - Python ColumnTransformer SettingWithCopyWarning
- spring - spring boot rest 下载 docx