Laravel - Usar un FORM > SELECT para cambiar la tabla de la consulta

 
Vista:
sin imagen de perfil
Val: 21
Ha mantenido su posición en Laravel (en relación al último mes)
Gráfica de Laravel

Usar un FORM > SELECT para cambiar la tabla de la consulta

Publicado por Sebastian (8 intervenciones) el 18/06/2019 23:30:15
Saludos, me encuentro aprendiendo Laravel y como ejercicio estoy creando unas graficas a partir de MySQL. Mi pregunta surge cuando necesito cambiar la tabla que me esta trayendo los datos que dibujan los gráficos, si tuviera varias tablas con la misma estructura, pero diferentes datos y un FORM con un SELECT podría hacer que los datos cambien de acuerdo a la tabla que seleccione. La pregunta concretamente es ¿Puedo poner un input en la vista y pasar como variable la tabla que quiero usar al controlador? o si no es posible ¿Cómo puedo hacerlo?

Vista (index.blade.php):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
@extends('layouts.main')
 
@section('contenido')
    <section class="contenido mx-auto">
 
        <div id="presencia-burnout" class="mx-auto grafico"></div>
        <script type="text/javascript">
            // Build the chart
            Highcharts.chart('presencia-burnout', {
                chart: {
                    plotBackgroundColor: null,
                    plotBorderWidth: null,
                    plotShadow: false,
                    type: 'pie'
                },
                title: {
                    text: 'Presencia Burnout'
                },
                tooltip: {
                    pointFormat: '{series.name}: <b>{point.percentage:.1f}%</b>'
                },
                plotOptions: {
                    pie: {
                        allowPointSelect: true,
                        cursor: 'pointer',
                        dataLabels: {
                            enabled: false
                        },
                        showInLegend: true
                    }
                },
                series: [{
                    name: 'Total',
                    colorByPoint: true,
                    data: [{
                        name: 'Con Burnout',
                        y: {{$conBurnout}},
                        sliced: false,
                        selected: false
                    },
                    {
                        name: 'Sin Burnout',
                        y: {{$sinBurnout}},
                        sliced: false,
                        selected: false
                    }]
                }]
            });
        </script>
    </section>
@endsection

Controlador (BurnoutController.php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
<?php
 
namespace App\Http\Controllers;
 
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Input;
 
class BurnoutController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
 
    public function index()
    {
        //
        $totalEncuestas = DB::table('lime_survey_883599')
            ->count('id');
 
        $conBurnout = DB::table('lime_survey_883599')
            ->where([
                ['883599X3X77','=','cansancio emocional alto'],
                ['883599X3X78','=','despersonalizacion alta'],
                ['883599X3X79','=','realizacion baja']
            ])
            ->count('id');
 
        $sinBurnout = DB::table('lime_survey_883599')
            ->where([
                ['883599X3X77','=','cansancio emocional bajo'],
                ['883599X3X78','=','despersonalizacion baja'],
                ['883599X3X79','=','realizacion alta']
            ])
            ->count('id');
 
        return view('burnout.index', [
            'conBurnout' => $conBurnout,
            'sinBurnout' => $sinBurnout
        ]);
    }
 
    /**
     * Show the form for creating a new resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function create()
    {
        //
    }
 
    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(Request $request)
    {
        //
    }
 
    /**
     * Display the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function show($id)
    {
        //
    }
 
    /**
     * Show the form for editing the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function edit($id)
    {
        //
    }
 
    /**
     * Update the specified resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function update(Request $request, $id)
    {
        //
    }
 
    /**
     * Remove the specified resource from storage.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function destroy($id)
    {
        //
    }
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder