Я использую последние Codeigniter и MorrisJS.
Я создал представление для диаграмм и передаю динамические данные через JSON, но это, похоже, не работает.
Я убедился, что все зависимые JS и CSS для MorrisJS отображаются в представлении.
Когда я статически передаю фиктивные данные в опции Chart, он отлично генерирует диаграмму.
Не работает только при передаче данных JSON.
Пожалуйста, не могли бы вы помочь мне в этом, я уверен, что совершил глупую ошибку, но не могу ее понять.
My View:
<div id="myfirstchart" style="height: 250px;"></div>
<script>
Morris.Bar({
element: 'myfirstchart',
data: <?php echo $graphData; ?>,
xkey: 'MonthName',
ykeys: ['totalTicket'],
labels: ['Value']
});
</script>
Мой контроллер:
public function index(){
$x['graphData']=json_encode($result);
$this->load->view('common/header');
$this->load->view('common/main_top_navbar');
$this->load->view('reports/trends');
$this->load->view('common/footer',$x);
}
Моя модель:
class Reports_model extends CI_Model{
function display_monthOnMonth_records(){
$this->db->select('MONTHNAME(CreatedOn) as MonthName, count(TicketID) as totalTicket');
$this->db->from('TBL_tickets');
$this->db->group_by('MonthName');
$this->db->order_by('
FIELD(
MonthName,
"January",
"February",
"March",
"April",
"May",
"June",
"July",
"August",
"September",
"October",
"November",
"December"
)
');
$query=$this->db->get();
return $query->result();
}
}
Когда я запускаю это, я вижу в Браузере Chrome / странице Проверка (F12), что данные отображаются для ввода данных, но не создают Диаграмму на Странице.
Из результатов проверки браузера:
<script>
Morris.Bar({
element: 'myfirstchart',
data: {"data":[{"MonthName":"January","totalTicket":"2500"},{"MonthName":"February","totalTicket":"2200"},{"MonthName":"March","totalTicket":"2350"}]},
xkey: 'MonthName',
ykeys: ['totalTicket'],
labels: ['Value']
});
</script>