Tingkatkan Efisiensi Manajemen Kampus dengan SIAKAD Modern Terintegrasi Neo Feeder PDDikti

Gambar
  Solusi cerdas untuk mengelola data akademik, dosen, mahasiswa, hingga pelaporan PDDikti secara otomatis, akurat, dan anti-ribet. Tinggalkan cara manual, beralihlah ke sistem yang mengerti kebutuhan perguruan tinggi Anda. Mengelola Data Kampus Tidak Pernah Semudah Ini Kami memahami bahwa pelaporan data ke PDDikti dan pengelolaan administrasi akademik kampus seringkali menyita banyak waktu dan tenaga. Oleh karena itu, kami menghadirkan SIAKAD Terintegrasi Neo Feeder , sebuah platform manajemen informasi akademik yang dirancang dengan teknologi web terkini, antarmuka yang intuitif, dan alur kerja yang sangat efisien. Sistem ini memastikan seluruh data kampus Anda—mulai dari kurikulum, presensi, hingga keuangan—terkelola dengan rapi dan siap dilaporkan ke kementerian hanya dengan beberapa klik. Fitur Unggulan SIAKAD Kami: 1. Dashboard Informatif & Modern Pantau detak jantung kampus Anda secara real-time . Dapatkan ringkasan statistik komprehensif seperti jumlah mahasiswa aktif,...

Laravel 5 Ajax Request


Assalamu'alaikum, selamat berjumpa lagi pemirsa di blog. Tulisan ini hanya sekedar buat mengingatkan saya bagaimana cara Laravel me-request Ajax, berbeda dengan framework CI yang mudah sekali untuk mengakses Ajax, pada Laravel agak jelimet mungkin baru bagi saya atau alasan security dalam mengakses data, tapi saya suka seperti ini. :).

Seperti biasanya kalo saya membuat aplikasi ada saja data yang harus dicari menggunakan Ajax, kasus kali ini adalah mencari field satuan dari parameter nama barang, seperti contoh di gambar 

Jika  dipilih 1 (nama barang) akan muncul point 2 (satuan), ini di request menggunakan Ajax.
$("#m_barang_id").on('change',function(){
      var url = "/laravel_invontory/public/barang";
      var barang_id = $(this).val();

      $.get(url + '/' + barang_id, function (data) {
          $('#satuan').val(data.satuan);
      });
    });
Nama objek nya m_barang_id dengan event change, saya akan me-request pada url (url nya masih hardcode) dengan parameter barang_id, dari url ini kita mengakses file routes.php kenapa tidak ke BarangController, kita lihat di list route nya setelah di tambahkan class pada routes

karena apabila ada form lain yang ingin mengakses class ini bisa langsung ke routes
berikut adalah class routes nya
Route::get('/barang/{barang_id?}',function($barang_id){
    $data = Barang::findOrFail($barang_id)->Satuan;
    return Response::json($data);
});
Kasus berikutnya yaitu menyimpan data dengan Ajax seperti form di bawah ini, menyimpan data ke 2 table header dan detail.
ketika tekan tombol SAVE data akan tersimpan ke 2 table.
$("#save").click(function(e){
      var url = "/laravel_invontory/public/beli";
      $.ajaxSetup({
            headers: {
                'X-CSRF-TOKEN': $('meta[name="_token"]').attr('content')
            }
        })
        e.preventDefault();

        var formData = {
            kode: $('#kode').val(),
            tanggal: $('#tanggal').val(),
            m_supplier_id: $('#m_supplier_id').val(),
            m_barang_id: $('#m_barang_id').val(),
            qty: $('#qty').val(),
            harga_beli: $('#harga_beli').val(),
        }
        console.log(formData);
        $.ajax({
            type    : "POST",
            url     : url,
            data    : formData,
            dataType: 'json',
            success : function (data) {
                console.log(data);
            },
            error: function (data) {
                console.log('Error:', data);
            }
        });
    })
saya dapat referensi dari tutorials.kode-blog.com Database Laravel Eloquent Laravel.  Dari url diatas kita mengakses controller BeliController dengan method store. Seperti coding di bawah ini
public function store(Request $request)
    {
      $beli = new Beli;
      $beli->kode = $request->kode;
      $beli->tanggal = $request->tanggal;
      $beli->m_supplier_id = $request->m_supplier_id;

      $cari_beli = DB::table('t_h_beli')->where('kode',$request->kode)->first();

      if($cari_beli){
        $beli->save();
      }else{
        Beli::create($beli);
      }

      $cari_beli = DB::table('t_h_beli')->where('kode',$request->kode)->first();

      $beli_id = $cari_beli->id;

      $cari_detail = DB::table('t_d_beli')->where([
        ['t_h_beli_id',$beli_id],
        ['m_barang_id',$request->m_barang_id]
        ])->first();

      $beli_detail = array(
        't_h_beli_id' => $beli_id,
        'm_barang_id' => $request->m_barang_id,
        'qty'         => $request->qty,
        'harga_beli'  => $request->harga_beli
      );

      if($cari_detail){
        $beli_detail['qty'] = $cari_detail->qty+$request->qty;
        DB::table('t_d_beli')
            ->where([
              ['t_h_beli_id', $beli_id],
              ['m_barang_id', $request->m_barang_id]
              ])
            ->update($beli_detail);
        $pesan = 'Update Success';
      }else{
        DB::table('t_d_beli')
            ->insert($beli_detail);
        $pesan = 'Create Success';
      }

      $msg = array(
        'info' => 'Info',
        'msg' => $pesan
      );

      return json_encode($msg);
    }
tambahkan juga di form nya

kemudian kita cek keberhasilannya dengan firebugs.
karena dataType nya json maka kembalian (return) nya harus bentuk json. semoga bermanfaat 

Komentar

Postingan populer dari blog ini

SIAKAD integrasi Neo Feeder

Cara Membuat Website Gratis

Setting modem flash dengan kartu Three ,Telkomsel ,XL,Im3