更新到3.4后我必须使用array_flip所有选项和值 - 可以使用经典表示法 - $ key => $值
classic array = [
1 => 'name of 1'
];
当前的symfony选择数组需要
choices array = [
'name of 1' => 1
];
现在最佳实践是什么 -
$tags = $this->getDoctrine()->getRepository('Keyword')->getChildren($rootKey);
'choices'=>array_flip($tags),
错误警告:array_flip():只能翻转STRING和INTEGER值!
所以我需要构建直接查询来获取字符串或第一个foreach转换为字符串和反向数组。 :)
我创建静态助手也许有人需要灵魂。
/**
* Convert Keys to Values and Stringify new Key
* @param $normalArray
* @return array
*/
public static function arrayToChoiceArray($normalArray){
$creazyArray = [];
foreach($normalArray as $key => $value)
$creazyArray[(string)$value] = $key;
return $creazyArray;
}
可以使用
$tags = $this->getDoctrine()->getRepository('Keyword')->getChildren($rootKey);
//现在标签是[1 =>对象,2 =>对象]
$tags = HelperClass::arrayToChoiceArray($tags);
//现在代码是['对象为字符串' => $ key,....]:)