我从数据库中获取一些信息并将该信息保存在一个数组中。我在{{dump(weights)}}
模板中使用了twig
,请参阅下面的数组转储:
如果我使用weights|json_encode()
我可以获得此信息:
哪个没问题,但我的图表需要这样的格式的数据 - [69,72]
。
例如,这就是代码应该如何查找图表:
var geckoWeight = {
labels: dates,
datasets: [
{
label: "Front",
fillColor: "rgba(0, 0, 0, 0.15)",
strokeColor: gradient,
pointColor: gradient,
pointStrokeColor: "#202b33",
pointHighlightStroke: "rgba(225,225,225,0.9)",
data: [69,72]
}
]
};
操作数据以适应图表数据所需的最佳方法是什么?
答案 0 :(得分:2)
我会做这样的事情(在模型方法或控制器中):
class MyController extends Controller
{
public function someAction()
{
$data = array(
array('weight' => 69),
array('weight' => 72),
);
$graphData = array_map(function($i) { return $i['weight']; }, $data);
return $this->render('default/index.html.twig', array(
'data' => $weights,
));
}
在我的树枝模板上:
<script>
var weights = {{ data|json_encode }};
</script>
答案 1 :(得分:0)
您可以在JS代码中执行此操作:
var myWeights = {{ weights|json_encode() }};
var myWeightsArr = [];
for(var i in myWeights){
if(myWeights.hasOwnProperty(i))
myWeightsArr.push(myWeights[i].weight);
}
答案 2 :(得分:0)
基于您的输入数据,这样的内容应该给出您请求的输出
[
{% for weightsArray in weights %}
{% if loop.index0 > 0 %},{% endif %}
{% for weight in weightsArray %}
{{ weight }}
{% endfor %}
{% endfor %}
]