get(); if (empty($kelompok_kategoris[0])) { return response()->json(['message' => 'Data Kosong']); } else { return $kelompok_kategoris; } } public function getDataMenu() { // $data = Produk::with(['kategori_produk'])->get(); $data = KelompokKategoriPivot::with(['kelompokKategori', 'produk'])->get(); $nomor = 1; return $datatables = datatables() ->of($data) ->addColumn('nomor', function ($data) use (&$nomor) { return $nomor++; }) ->addColumn('kode_produk', function ($data) { return $data->produk->kode_produk; }) ->addColumn('nama_produk', function ($data) { return $data->produk->nama_produk; }) ->addColumn('harga_produk', function ($data) { return $data->produk->harga_produk; }) ->addColumn('nama_kelompok_kategori', function ($data) { return $data->kelompokKategori->nama_kelompok_kategori; }) ->addColumn('kategori_produk', function ($data) { return $data->produk->kategori_produk->nama_kategori_produk; }) ->addColumn('ubah', function ($data) { return '
'; }) ->rawColumns(['nomor', 'ubah']) ->make(true); } // Tambah Menu public function store(Request $request) { // validation $rules = array( 'kategori_produk' => 'required', 'kelompok_produk' => 'required', 'kode_produk' => 'required', 'nama_produk' => 'required', 'harga_produk' => 'required', 'tersedia' => 'required', 'deskripsi_produk' => 'required', ); $validator = Validator::make($request->all(), $rules); // check validation if ($validator->fails()) { // If validation fails, return with errors return response()->json(['errors' => $validator->errors()], 422); } else { // create product $produk = Produk::create([ 'kategori_produk_id' => $request->kategori_produk, 'kode_produk' => $request->kode_produk, 'nama_produk' => $request->nama_produk, 'harga_produk' => $request->harga_produk, 'tersedia' => $request->tersedia, 'deskripsi_produk' => $request->deskripsi_produk, 'created_at' => Carbon::now() ]); $pivot_produk = KelompokKategoriPivot::create([ 'kelompok_kategori_id' => $request->kelompok_produk, 'produk_id' => $produk->id, 'created_at' => Carbon::now() ]); // Return a success response return response()->json(['message' => 'Data created successfully']); } } public function show($id) { $data = KelompokKategoriPivot::with(['kelompokKategori', 'produk'])->findOrFail($id); return response()->json($data); } // Ubah Menu public function update(Request $request, $id) { // validation $rules = array( 'kategori_produk' => 'required', 'kelompok_produk' => 'required', 'kode_produk' => 'required', 'nama_produk' => 'required', 'harga_produk' => 'required', 'tersedia' => 'required', 'deskripsi_produk' => 'required', ); $validator = Validator::make($request->all(), $rules); // check validation if ($validator->fails()) { // If validation fails, return with errors return response()->json(['errors' => $validator->errors()], 422); } else { $pivot = KelompokKategoriPivot::findOrFail($id); $produk = Produk::find($pivot->produk_id); // update pivot produk $pivot->update([ 'kelompok_ketegori_id' => $request->kelompok_produk, ]); // update produk $produk->update([ 'kategori_produk_id' => $request->kategori_produk, 'kode_produk' => $request->kode_produk, 'nama_produk' => $request->nama_produk, 'harga_produk' => $request->harga_produk, 'tersedia' => $request->tersedia, 'deskripsi_produk' => $request->deskripsi_produk, ]); // Return a success response return response()->json(['message' => 'Data created successfully']); } } }