【发布时间】:2019-07-18 21:02:37
【问题描述】:
colums_arr:
array:4 [▼
0 => "id"
1 => "name"
2 => "productgroup"
3 => "category"
]
字段:
{#9767 ▼
+"id": array:9 [▶]
+"name": array:8 [▼
"fieldName" => "name"
]
+"productgroup": array:19 [▼
"fieldName" => "productgroup"
"mappedBy" => null
]
+"category": array:19 [▼
"fieldName" => "category"
"mappedBy" => null
]
}
我想要做的是,每当元素存在 fields mappedBy 时,我想将 name 添加到值中。所以结果columns_arr 应该是这样的:
array:4 [▼
0 => "id"
1 => "name"
2 => "productgroup.name"
3 => "category.name"
]
这是我的方法:
foreach ($fields as $field) {
$MappedBy = isset($field['mappedBy']);
if($MappedBy != true){
$class_field = $field['fieldName'];
$key = array_search($field['fieldName'],$input);
$replace=array($key=>$class_field.".name");
$columns_arr = (array_replace($input,$replace));
}
}
问题是,我现在的结果是:
array:4 [▼
0 => "id"
1 => "name"
2 => "productgroup"
3 => "category.name"
]
为什么name 没有添加到productgroup?
【问题讨论】:
-
$columns_arr[] = (array_replace($input,$replace)); -
@Fabian 你的建议给了我输出
array:6 [▼ 0 => "id" 1 => "name" 2 => "productgroup" 3 => "category" 4 => array:4 [▼ 0 => "id" 1 => "name" 2 => "productgroup.name" 3 => "category" ] 5 => array:4 [▼ 0 => "id" 1 => "name" 2 => "productgroup" 3 => "category.name" ] ] -
看我的回答
标签: arrays loops symfony search replace