我认为这是一个经典的,但在我的一个 Laravel Controller 中,仅当传入请求中存在相应的替换值时,我才需要更新某些字段的值。如果它们不存在,则必须保持不变。迄今为止我的“最聪明”尝试:
$user->name = $request->name ?: $user->name;
$user->email = $request->email ?: $user->email;
...
有没有更聪明的方法使用最新的 PHP 或 Laravel 增强功能来做到这一点? 提前致谢。
最佳答案
您可以使用get()
请求上的方法并将当前值作为默认值传递。
$user->name = $request->get('name', $user->name);
关于PHP:仅当存在替换时才更新字段。如果没有,请保持不变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60188495/