我正在生成这样的对象:
如您所见,education
是对象内的数组,
但我想要的是degree_1
和major_1
及其值在同一个对象中。
另一件事: 当我在我的php中var_dump它对阵列和一切都很好。但是当我的javascript只是一个数组时,我的javascript会获得第二个图像 - 对象的对象。
public function show($id)
{
$tmp = array();
$post = array();
$postInfo = Post::find($id);
$params = DB::select( DB::raw("SELECT param.*, sys_param_values.*,param_value.*,type_post.*,
param.name AS paramName,
doc_param.name AS docParamName
FROM param
LEFT JOIN doc_param ON param.doc_param_id = doc_param.id
LEFT JOIN sys_param_values ON param.id = sys_param_values.param_id
LEFT JOIN param_value ON sys_param_values.value_ref = param_value.id
LEFT JOIN type_post ON sys_param_values.ref_id = type_post.id WHERE type_post.id = ".$id));
$isMultiple = false;
$post['postInfo'] = $postInfo['original'];
foreach($params as $k=>$v) {
$iteration = $v->iteration;
$docParamName = $v->docParamName;
$paramName = $v->paramName;
if($v->value_ref == null) {
$value = $v->value_short;
} else {
$value = $v->value;
}
if($iteration) {
$post[$docParamName][$iteration][$paramName] = $value;
// need to return education as array not as object
// $post[$docParamName][] = array($paramName=>$value) ;
}elseif(!$iteration) {
$post[$docParamName][$paramName] = $value;
}
}
return Response::json($post);
}
答案 0 :(得分:1)
将第一个元素从education
设为0,现在为1,这就是json_encode将其解析为对象的原因。
答案 1 :(得分:0)
我不知道您的数据源是什么样的,但是在我看来,您正在获取垂直数据并且他们希望水平显示它。如果是这种情况,您的数据需要以简单循环的方式存储,如果不是,则需要一些PHP逻辑。
在向我们展示您的桌面内容示例之前,我们无法真正帮助您。
干杯