gpt4 book ai didi

php - 在对象数组中添加属性和值

转载 作者:行者123 更新时间:2023-12-04 12:47:48 25 4
gpt4 key购买 nike

我在 php OOP 中很新,我使用 laravel 有我选择的框架。我创建了一个对象用户并创建了记录,我唯一要做的就是检查是否设置了我的一个输入字段(不是必需的),如果设置了它,我必须在用户对象中添加,但是如何我可以在现有对象中添加这个属性(手机)和值,我做对了吗?。

代码:

$user = User::create([
'email' => $userDat['email'],
'name' => $userDat['name'],
'surname' => $userDat['surname'],
]);

if (isset($userDat['mobilephone'])) {
$user->mobilephone = $userDat['mobilephone'];
}

最佳答案

有几种方法可以做到。

提前准备好阵列

$data = [
'email' => $userDat['email'],
'name' => $userDat['name'],
'surname' => $userDat['surname'],
];

if ($phone = array_get($userDat, 'mobilephone')) {
$data['mobilephone'] = $phone;
}

User::create($data);

或者先创建对象然后保存
$user = new User([
'email' => $userDat['email'],
'name' => $userDat['name'],
'surname' => $userDat['surname'],
]);

if ($phone = array_get($userDat, 'mobilephone')) {
$user->mobilephone = $phone;
}

$user->save();

就像你现在一样,但有一个额外的查询(不建议)
$user = User::create([
'email' => $userDat['email'],
'name' => $userDat['name'],
'surname' => $userDat['surname'],
]);

if ($phone = array_get($userDat, 'mobilephone')) {
$user->mobilephone = $phone;

$user->save();
}

关于php - 在对象数组中添加属性和值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34638762/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com