first(); if($request->ajax()){ $data = Product::with(['category','dealers']); return DataTables::of($data) ->addIndexColumn() ->addColumn('category_name', function ($row) { return $row->category ? $row->category->name : '-'; }) ->addColumn('total_stock', function ($row){ return $row->dealers->sum(function($dealer){ return $dealer->pivot->quantity ?? 0; }); }) ->addColumn('action', function ($row) use ($menu) { $btn = ''; if (Auth::user()->can('delete', $menu)) { $btn .= ''; } if (Auth::user()->can('update', $menu)) { $btn .= ''; } return $btn; }) ->rawColumns(['action']) ->make(true); } return view('warehouse_management.products.index'); } /** * 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) { // } }