Převod pole do JSON v latte

- quiced
- Člen | 85
Zdravím všechny,
potřeboval bych nasměrovat jak převést pole do JSON v latte nebo presenteru. Potřebuju totiž použít hodnoty pro zobrazení v grafu. Do šablony dostávám hodnoty z DB klasicky:
$this->template->keyword_positions = $this->checkerRepository->getPositionTable()->where(array('keyword_id', $id));
ale už nevím jak pole keyword_positions předělat na JSON a použít to jako pole do javascriptu.
Díky za každou radu.

- TOMeek
- Člen | 64
quiced napsal(a):
Zdravím všechny,
potřeboval bych nasměrovat jak převést pole do JSON v latte nebo presenteru. Potřebuju totiž použít hodnoty pro zobrazení v grafu. Do šablony dostávám hodnoty z DB klasicky:
$this->template->keyword_positions = $this->checkerRepository->getPositionTable()->where(array('keyword_id', $id));ale už nevím jak pole keyword_positions předělat na JSON a použít to jako pole do javascriptu.
Díky za každou radu.
Myslíš něco jako
$this->template->keyword_positions = Nette\Utils\Json::encode($keyword_positions_array)

- petr.pavel
- Člen | 535
Ukaž šablonu, prosím. Mám za to, že by mělo stačit
<?php
$this->template->keyword_positions = $this->checkerRepository->getPositionTable()->where(array('keyword_id', $id))
?>
<script>
var positions = {$keyword_positions};
</script>
Jinými slovy – nepřevádět v presenteru a nechat escapování v Latte, ať to udělá za tebe.
Maximálně za ->where() přidat
->fetchPairs() / ->fetchAssoc(), ale nejdřív
to zkus bez nich.