Я создал функцию для генерации диаграммы в контроллере TestChart.php. Теперь мне нужно вызвать эту функцию в моем файле welcome.blade. но я не знаю, как это сделать. Все, что я получаю, это то, что функция genChart не определена (файл welcome.blade)
Функция genChart - это то, что нужно вызывать в файле welcome.blade
Контроллер (где создается диаграмма):
public function index()
{
$columns = array();
$charts = array();
foreach ($columns as $column) {
$charts[$column] = $this->genChart("ami_demo2018", $column);
}
return view('welcome')->with('charts', $charts);
}
function genChart($table, $column)
{
$labels = Array();
$data = Array();
$distinct = DB::select("select distinct `{$column}` FROM `{$table}`");
$sql = "SELECT ";
foreach ($distinct as $key => $value) {
foreach ($value as $key1 => $value1) {
$sql .= "SUM(case when `{$column}` = '{$value1}' THEN 1 END ) AS `{$value1}`,";
if (empty($value1)){
$value1 = 'Niet ingevuld';
}
array_push($labels, $value1);
}
}
$sql = rtrim($sql, ',');
$sql .= " From {$table}";
$result = DB::select($sql);
foreach ($result as $row) {
foreach ($row as $column => $value) {
array_push($data, (int)$value);
}
}
$chart = new chart();
$chart->labels($labels);
$chart->dataset('First Dataset', "bar", $data);
return $chart;
}
файл welcome.blade (где я хочу вызвать функцию genChart):
<?php
if(isset($_GET['submit'])){
$selected_val = $_GET['select'];
genChart($table, $selected_val);
}
?>
</div>
<div id="container">
@foreach($charts as $chart)
{!! $chart->container() !!}
{!! $chart->script() !!}
@endforeach
</div>