0

I Try Made Crud Can't defined aktivitas.destroy

index.blade.php

<div class="bs-bars pull-left">
    <a href="{{ route('pegawai.create') }}"class="btn btn-primary btn-md">
    Tambah
    </a>&nbsp;&nbsp;
    <a href="{{ url('pegawai-pdf') }}" class="btn btn-success btn-md">
    <i class="fas fa-file-pdf"></i>&nbsp;Data Aktivitas
    </a>
    </div>
    @foreach($ar_judul as $jdl)
    <th>{{ $jdl }}</th>
    @endforeach
    </tr>
    </thead>
    <tbody>
    @foreach ($ar_aktivitas as $akt)
    <tr>
        <td>{{ $no++ }}</td>
        <td>{{ $akt->nama_jenis_anggaran }}</td>
        <td>{{ $akt->jenis_anggaran }}</td>
        <td>{{ $akt->unt }}</td>
        <td>Rp. {{ number_format($akt->jumlah_anggaran,2,',','.') }}</td>
        <td>{{ $akt->peg }}</td>
        <td>{{ $akt->tgl_aktivitas }}</td>
        <td>
            @if(!empty($akt->foto))
            <img src="{{asset('img')}}/{{ $akt->foto }}" width="70px" height="70px">
            @else
            <div class="icon text-black bg-violet">
                <i class="fas fa-tired"></i>
            </div>
            @endif
        </td>
        <td>
            <form method="POST" action="{{ route('aktivitas.destroy',$akt->id)}}">
            <div class="icon">
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
            <a href="{{ route('aktivitas.show',$akt->id) }}" >
                <div class="icon bg-blue">
                <i class="fas fa-eye"></i>
                </div>
            </a>
            &nbsp;
            <a href="{{ route('aktivitas.edit',$akt->id) }}"  class="">
                <div class="icon bg-green">
                <i class="fas  fa-pen"></i>
                </div>
            </a>
            &nbsp; @csrf
            @method('DELETE')
            <button type="submit" 
                class="btn-danger btn-circle btn-sm" 
                onclick="return confirm('Yakin diHapus?')">
                <div class="icon bg-red">
                <i class="fas circle fa-trash"></i>
                </div>
            </button>

AktivitasController.php Controller

class AktivitasController extends Controller
{
    /**
        * Display a listing of the resource.
        *
        * @return \Illuminate\Http\Response
        */
    public function index()
    {
            $ar_aktivitas = DB::table('aktivitas')
            ->join('unit', 'unit.id', '=', 'aktivitas.unit_id')
            ->join('pegawai', 'pegawai.id', '=', 'aktivitas.pegawai_id')
            ->select('aktivitas.*', 'unit.nama AS unt', 'pegawai.nama AS peg')
            ->get();

        return view('aktivitas.index', compact('ar_aktivitas'));
    }

    public function create()
    {
            //arahkan ke form input data baru
            return view('aktivitas.form');
    }

    /**
        * Store a newly created resource in storage.
        *
        * @param  \Illuminate\Http\Request  $request
        * @return \Illuminate\Http\Response
        */

    public function store(Request $request)
    {
    //validasi data
    $validator = Validator::make(request()->all(),[

        'nama_jenis_anggaran'=>'required',
        'jenis_anggaran'=>'required',
        'unit_id'=>'required',
        'jumlah_anggaran'=>'required',
        'pegawai_id'=>'required',
        'tgl_aktivitas'=>'required',
        'keterangan'=>'image|mimes:jpg,jpeg,png,gif|max:2048',

        ],[
            'nama_jenis_anggaran.required'=>'Nama Jenis Anggaran Wajib untuk diisi',
            'jenis_anggaran.required'=>'Jenis Anggaran Wajib untuk dipilih',
            'unit_id.required'=>'Unit Wajib untuk dipilih',
            'jumlah_anggaran.required'=>'Jumlah Anggaran Wajib untuk dipilih',
            'pegawai.required'=>'Pegawai Wajib untuk diisi',
            'tgl_aktivitas.required'=>'Tanggal Wajib untuk diisi',
            'keterangan.image'=>'Ektensi File Foto Hanya Boleh .jpg, .png, .gif',
            'keterangan.max' =>'File Foto Melebihi 2048 KB',
        ])->validate();

    //2. proses upload,dicek pas input ada upload file/tidak
    if(!empty($request->foto)){
        /*
        $request->validate([
            'foto' => 'image|mimes:jpg,jpeg,png,giff|max:2048',
        ]);
        */
        //$fileName = $request->nip.'.'.$request->foto->extension();
        $fileName = $request->nip.'.jpg';
        $request->foto->move(public_path('img'), $fileName);
    }else{
        $fileName = '';
    }


    //1. tangkap request form
    DB::table('aktivitas')->insert(
        [
            'pegawai_id'=>$request->pegawai_id,
            'nama_jenis_anggaran'=>$request->nama_jenis_anggaran,
            'jenis_anggaran'=>$request->jenis_anggaran,
            'jumlah_anggaran'=>$request->jumlah_anggaran,
            'tgl_aktivitas'=>$request->tgl_aktivitas,
            'keterangan'=>$request->$fileName,
            'unit_id'=>$request->unit_id,
        ]
    );


    //landing page
    return redirect ('/aktivitas');
    }

    public function show($id)
    {
        $ar_aktivitas = DB::table('aktivitas')
            ->join('unit', 'unit.id', '=', 'aktivitas.unit_id')
            ->join('pegawai', 'pegawai.id', '=', 'aktivitas.pegawai_id')
            ->select('aktivitas.*', 'unit.nama AS unt', 'pegawai.nama AS peg')
            ->where('aktivitas.id','=',$id)
            ->get();

        return view('aktivitas.index', compact('ar_aktivitas'));
    }

    public function edit($id)
    {
        //tampilkan form untuk menampilkan
        //data lama yg mau diedit sebanyak 1 baris data
        $data = DB::table('aktivitas')->where('id',$id)->get();
        return view('aktivitas/form_edit',compact('data'));
    }

    /**
        * Update the specified resource in storage.
        *
        * @param  \Illuminate\Http\Request  $request
        * @param  int  $id
        * @return \Illuminate\Http\Response
        */

    public function update(Request $request, $id)
    {
        //1.proses ubah data
        DB::table('aktivitas')->where('id',$id)->update(
            [
                'pegawai_id'=>$request->pegawai_id,
                'nama_jenis_anggaran'=>$request->nama_jenis_anggaran,
                'jenis_anggaran'=>$request->jenis_anggaran,
                'jumlah_anggaran'=>$request->jumlah_anggaran,
                'tgl_aktivitas'=>$request->tgl_aktivitas,
                'keterangan'=>$request->keterangan,
                'unit_id'=>$request->unit_id,
            ]
        );
        //landing page ke detail pemasukan
        return redirect ('/activity'.'/'.$id);

    }
    public function destroy($id)
    {
        //ambil isi kolom foto lalu hapus file fotonya
        //di folder img
        //$foto = DB::table('aktivitas')->select('keterangan')->where('id','=',$id)->get();
        //foreach($foto as $f){
            //   $namaFile = $f->foto;
        //}
        //File::delete(public_path('img/'.$namaFile));
        ///hapus data
        DB::table('aktivitas')->where('id',$id)->delete();
        //landing page ke hal pegawai / index.blade.php

        return redirect ('/activity');
    }
}
Martin Brisiak
  • 3,872
  • 12
  • 37
  • 51

1 Answers1

0

You can add:

Route::delete('aktivitas','AktivitasController@destroy');

Add on your routes/web.php

Fathul Muiin
  • 83
  • 1
  • 11