我正在尝试根据值是否存在设置多个实体。
if ($guestMinorCheckout === 'Yes') {
$optionInfo = 'adult-authorized';
$value = 'yes|';
foreach ($guestMinorCheckout as $guestInfo) {
if (!is_null($guestContactCheckInOutPhone)) {
$option = new EventAttendeeOption();
$option->setOption('adult-authorized-sms');
$option->setValue($guestContactCheckInOutPhone);
}
if (!is_null($guestContactCheckInOutEmail)) {
$option = new EventAttendeeOption();
$option->setOption('adult-authorized-email');
$option->setValue($guestContactCheckInOutEmail);
}
}
}
上面的这段代码不起作用,但是它是我想要完成的。
我正在从API调用中获取此数据,因此这些值可能存在也可能不存在。如果它们确实退出,则id希望设置为这些值。
答案 0 :(得分:0)
不确定$guestContactCheckInOutPhone
和$guestContactCheckInOutPhone
的确切来源。我假设它们位于您说从API获取的某些数据数组中。希望它是一个键,键数组的值与字段名相同。如果是这样,您可以使用反射类来代替检查每个字段是否在数组中:
$option = new EventAttendeeOption();
$reflectionClass = new \ReflectionClass(EventAttendeeOption::class);
foreach ($data as $key => $value) {
$reflectionClass->getProperty($key)->setValue($option, $value);
}
编辑: 仔细检查后,我发现除了一些较小的工作流问题外,您的代码也应该可以工作,而我的答案并非您所需要的。你能分享为什么它不起作用吗?