saya mau melakukan function delete.. logicnya kalo casenya seperti ini.

saya punya 3 table,

1, table worker (id, name,..)

2, table attendance (id, date)

3. pivot table attendance_worker (id, worker_id; attendance_id; status)

nah saya ceritain alurnya dulu..

jadi disini saya pilih tanggal untuk selanjutnya melakukan absensi karyawan.tampilan list tanngalnya

disini saya misalkan tambah kehadiran pekerjaanya, bila saya klik add attendance worker dia akan munculkan pop up modal,

tampilan untuk list kehadiran

jika saya save dia ke input ke table pivot attendance_worker

ini tampilan bentuk modalnya

nah ini tampilan setelah saya pilih save insert data ke table pivotnya attendance_worker

setelah di save data dan data berhasil di input ke attendance_worker

nah ini masalahnya bang, ketika saya melakukan delete di tombol action itu,  katakanlah si budi saya hapus,

tidak ada error memang tp url di atasnya bang jd begitu, terus data si budi di table pivot attendance_worker tidak terhapus,

URL jadi begitu, data budi di data base juga tidak terhapus

ini table pivotnya attendance_worker, nama budi (worker_id: 3)

budi worker_id : 3 tidak terhapus,

saya lampirkan ini code- codenya..

ini detail.blade.php (ini buat tampilan detail tanggal untuk daftar kehadirannya) beserta modal popupnya..


@extends('layouts.master')

@section('content-header')
<div class="row">
    <div class="col-xl-12">
        <div class="card easion-card">
            <div class="card-header">
                <div class="easion-card-icon">
                    <i class="fas fa-chart-bar"></i>
                </div>
                <div class="easion-card-title"> Date Attendance : {{ $attendance-> date }} </div>
@endsection

@section('content')
</div>
            @if (session('status'))
                <div class="alert alert-success">
                    {{ session('status') }}
                </div>
            @endif
            <button type="button" class="btn btn-primary" data-toggle="modal" data-target="#exampleModal">
                Add Attendace Worker
              </button>
            <div class="row clearfix">
                <div class="card-body ">
                    <table class="table table-hover table-in-card">
                        <thead>
                            <tr>
                                <th scope="col">No</th>
                                <th scope="col">Name</th>
                                <th scope="col">Info</th>
                                <th scope="col" class="">Action</th>
                            </tr>
                        </thead>
                        <tbody>
                            <?php $i=1;?>
                            @foreach ($attendance->worker as $k)
                            <tr>
                                <th scope="row">{{ $i }}</th>
                                <td>{{$k->name}}</td>
                                <td>{{$k->pivot->info}}</td>
                                <td>
                                    <form action="/attendance/delete/presence/{{$attendance->id}}" method="post" class="d-inline">
                                        @method('delete')
                                        @csrf
                                        <button class="btn btn-warning btn btn-danger btn-sm"><i class="fas fa-trash-alt"></i></button>
                                    </form>
                                </td>
                            </tr>
                            <?php $i++;?>
                            @endforeach
                        </tbody>
                    </table>
                </div>
            </div>
        </div>
        <label> Present : {{$attendance_worker_present}}</label><br>
        <label> Absent : {{$attendance_worker_absent}}</label>
    </div>
</div>
@endsection

<div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
    <div class="modal-dialog" role="document">
          <div class="modal-content">
            <div class="modal-header">
              <h5 class="modal-title" id="exampleModalLabel">Attendance</h5>
              <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                <span aria-hidden="true">&times;</span>
              </button>
            </div>
            <div class="modal-body">
                    <form role="form" action="/attendance/adddate/{{$attendance->id}}" method="POST">
                         <div class="form-group">
                                <div class="form-line">
                                    <input name="_token" type="hidden" value="{{ csrf_token() }}" />
                                    <input name="_method" type="hidden" value="POST" />
                                </div>
                        </div>
                        <div class="form-group">
                            <label for="worker">Name </label>
                            <select name="worker" class="form-control" id="worker">
                                  @foreach ($worker as $d)
                                <option value={{$d->id}}>{{$d->name}}</option>
                                  @endforeach
                            </select>
                        </div>

                        <div class="form-group">
                            <label for="worker">Status</label>
                            <select name="info" class="form-control" id="worker">
                                <option >present</option>
                                <option >absent</option>
                            </select>
                        </div>
                        <div class="modal-footer">
                            <button type="submit" class="btn btn-primary">Save</button>
                        </div>
                    </form>
            </div>
          </div>
    </div>
</div>

trs, ini code untuk AttendanceControllernya,


public function show($iddate)
    {
        $attendance = Attendance::where('id', '=', $iddate)->first();
        $worker = Worker::all();
        $attendance_worker_present = Attendance_worker::where('attendance_id', $iddate)
                            ->whereIn('info', ['present'])
                            ->count();
        $attendance_worker_absent = Attendance_worker::where('attendance_id', $iddate)
                            ->whereIn('info', ['absent'])
                            ->count();
       return view('attendance.detail', ['attendance'=>$attendance, 'worker'=>$worker, 'attendance_worker_present'=>$attendance_worker_present, 'attendance_worker_not_in'=>$attendance_worker_absent]);
    }

public function adddate(Request $request, $iddate)
    {
        // dd($request->all());
        $data = Attendance::where('id', '=', $iddate)->first();
        if($data->worker()->where('worker_id',$request->worker)->exists()){
            return redirect('attendance/detail/'.$iddate);
        }
        $data->worker()->attach($request->worker,['info'=>$request->info]);

        return redirect('attendance/detail/'.$iddate)-> with('status', 'Kehadiran berhasil di tambahkan');
    }

public function deleteattendance(Attendance $id)
    {
        $data= Attendance_worker::where('worker_id', '=', $id);
        $data->forceDelete();
        return redirect('attendance/detail/'.$id);
    }

ini routenya


Route::get('/attendance/detail/{id}', 'AttendancesController@show');
Route::post('/attendance/adddate/{id}', 'AttendancesController@adddate');
Route::delete('/attendance/delete/presence/{id}', 'AttendancesController@deleteattendance');

bagiamana ya kira-kira solvingnya?

initinya saya mau hapus si budi dari table attendance_worker.

avatar meglojulianto_google
@meglojulianto_google

3 Kontribusi 0 Poin

Diperbarui 3 tahun yang lalu

1 Jawaban:

<div>Mungkin ada yang salah dengan parameter method delete-nya, Kak.&nbsp;<br><br></div><pre>public function deleteattendance(Attendance $id)</pre><div><br>Mungkin cukup beri $id saja, tidak perlu 'Attendance'-nya, Kak.</div>

avatar Acro
@Acro

2 Kontribusi 0 Poin

Dipost 3 tahun yang lalu

Login untuk ikut Jawaban