我正在开发一个需要从布尔复选框/单选按钮中选择N / A选项的迁移类。我已将字段配置为1 == True
和0 == No
。但是,如果源中没有指定任何内容,我想选择N/A
选项。
我在prepareRow
函数中调用的函数如下所示:
protected function utcYesNoBoolean($value) {
$upper = strtoupper($value);
switch ($upper){
case "YES":
return 1;
break;
case "NO":
return 0;
break;
//Not filled in so set to NA
default:
return NULL;
break;
}
}
因此,如果来源如下:
我应该这样做并返回NULL
并忽略在UI中未选择该字段的事实,或者有没有办法选择N/A
选项?为了选择N/A
选项,我应该返回什么值?我尝试返回-1
,NULL
和"N/A"
,但没有成功。
或者是否可以使用迁移字段映射将字段的默认值设置为N/A
?
注意:如果重要的话,在Drupal 7上使用Commerce Kickstart。另请注意,需要在migrate类中设置with PHP代码。
答案 0 :(得分:0)
与此同时,我自己想出来了。当您将产品上的字段从No
更新为N/A
时。保存并再次编辑,您将看到没有任何选择。
因此,在数据库中,这也将导致空/删除字段/记录。因此,无需将其设置为Yes
或No
。 N/A
按钮用于删除值,以防您不再需要该值。
感谢所有阅读此问题的人,如果先前检查过Drupal数据库,我可以早点解决这个问题。我希望这个答案对未来的其他人有用。