Сумма в контроллере с использованием Yajra Datatable - PullRequest
0 голосов
/ 03 июля 2019

Я пытаюсь суммировать два значения из разных таблиц MySQL в контроллере и затем поместить результат в таблицу данных.

Скрипт, который вызывает контроллер

  <script>
    $(document).ready(function(){

    var tabla1 = $('#art_table').DataTable({
        "language": {
                    "url": "//cdn.datatables.net/plug-ins/1.10.19/i18n/Spanish.json"
                },
    processing: true,
    serverSide: true,
    ajax:{
        url: "{{ route('ordenes.index') }}"},
        columns:[
            {
                data: 'nombre_art',
                name: 'nombre_art'
            },

            {
                data: 'cantidad',
                name: 'cantidad'
            }
        ]
    });
});
</script>

Код в контроллере

public function index()
{
    if(request()->ajax())
    {
        $query = DB::table('orden_entrada_art')->select('*');
        return datatables()->of($query)
        //return datatables()->of(articulos::latest()->get())
                ->addIndexColumn()
                ->addColumn('cantidad', function($tot){
                    $tot = DB::table('orden_entrada_art')
                    ->select(DB::raw("SUM(orden_entrada_art.cantidad) + SUM(orden_salida_art.cantidad) AS cantidad"))
                    ->join('orden_salida_art', 'orden_entrada_art.nombre_art', '=', 'orden_salida_art.nombre_art')   // ESTE SELECT
                    ->where('orden_salida_art.nombre_art','=',$tot->nombre_art)
                    ->groupBy('orden_entrada_art.nombre_art')
                    ->orderByRaw('orden_entrada_art.nombre_art')
                    ->get();
                    $t = $tot[0]->cantidad;  // array solo agarra el id del select de arriba
                    return $t;
                })
                ->make(true);
            }

    $arts = DB::table('articulos')->get();

    return view('ordenes.ordenes',['arts'=>$arts]);

}

Я ожидаю, что результат будет результатом вычитания между двумя полями из разных таблиц MySQL

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...