首页 > 解决方案 > PHP:仅当存在替换时才更新字段。如果没有,保持不变

问题描述

我认为这是一个经典的,但在我的 Laravel 控制器之一中,只有在传入请求中存在相应的替换值时,我才需要更新某些字段的值。如果它们不存在,则必须保持不变。到目前为止,我的“最聪明”尝试:

$user->name = $request->name ?: $user->name;
$user->email = $request->email ?: $user->email;
...

使用最新的 PHP 或 Laravel 增强功能是否有更聪明的方法?提前致谢。

标签: phplaraveleloquentphp-7

解决方案


您可以get()在请求上使用该方法并将当前值作为默认值传递。

$user->name = $request->get('name', $user->name);

推荐阅读