2016-05-07 6 views
0

This is my table.Datum Subtraktion von Spalten in der Datenbank

Es verfügt über zwei Spalten durasi und mulai und ich möchte die gesamte Spalte reflektiert durasi - mulai

Kann mir jemand sagen, wie dies zu tun? Ich verwende Laravel 5.1

dies mein Controller:

public function getTambah() 
    { 
     return view('tambah_user'); 
    } 
    public function postSimpanTambah() 
    { 
     $simpan= array(); 
     $simpan['nama']=Request::input('nama'); 
     $simpan['tanggal']=Request::input('tanggal'); 
     $simpan['deskripsi']=Request::input('deskripsi'); 
     $simpan['mulai']=Request::input('mulai'); 
     $simpan['durasi']=Request::input('durasi'); 

     DB::table('lembur_karyawan')->insert($simpan); 
     echo "<script language='javascript'> 
        alert('Berhasil menambahkan data'); 
        document.location='../user'; 
       </script>"; 
    } 

und das ist meine Ansicht:

<h3>Tambah User</h3> 
       <hr> 
      <form method="post" action="<?php echo url('user/simpan-tambah') ?>" enctype="multipart/form-data"> 
      <div class="form-group"> 
        <input type="hidden" name="_token" value="{{{ csrf_token() }}}" /> 
        <input type="hidden" class="form-control" name="id" placeholder="Tambahkan Id"> 
      </div> 

      <div class="form-group"> 
       <label for="inputIsiBerita"> Nama:</label> 
       <input type="text" class="form-control" name="nama" value="<?php echo Auth::user()->name. '';?>" readonly> 
      </div> 

      <div class="form-group"> 
       <label for="inputIsiBerita"> Tanggal:</label> 
       <input type="date" class="form-control" name="tanggal" placeholder="Tambahkan Tanggal"> 
      </div> 

      <div class="form-group"> 
       <label for="inputIsiBerita"> Deskripsi:</label> 
       <input type="text" class="form-control" name="deskripsi" placeholder="Tambahkan Deskripsi"> 
      </div> 

      <div class="form-group"> 
       <label for="inputIsiBerita"> Mulai:</label> 
       <input type="time" class="form-control" name="mulai" value="17:00" readonly> 
      </div> 

      <div class="form-group"> 
       <label for="inputIsiBerita"> Durasi:</label> 
       <input type="time" class="form-control" name="durasi" placeholder="Tambahkan Durasi"> 
      </div> 


      <div class="form-group"> 
        <div class="controls"> 
        <button type="submit" class="btn btn-primary">Kirim</button> 
        <button type="reset" class="btn btn-inverse">Reset</button> 
        <button type="button" onclick='location.href="<?php echo url('admin') ?>"' class="btn btn-inverse">Batal</button> 
        </div> 
      </div> 

      </form> 
+0

Wollen Sie, diese berechnen, wenn Sie die Werte in Ihrer Datenbank einfügen? Können Sie uns den Code zeigen, mit dem Sie die Daten einfügen? – James

+0

Haben Sie etwas versucht, was Sie uns zeigen können? – tptcat

+0

bearbeite schon meinen Beitrag –

Antwort

0

Sie können dies tun, indem Sie Ihre postSimpanTambah() Funktion leicht zu ändern:

public function postSimpanTambah() 
    { 
     $simpan= array(); 
     $simpan['nama'] = Request::input('nama'); 
     $simpan['tanggal'] = Request::input('tanggal'); 
     $simpan['deskripsi'] = Request::input('deskripsi'); 
     $simpan['mulai'] = Request::input('mulai'); 
     $simpan['durasi'] = Request::input('durasi'); 
     $simpan['total'] = Request::input('durasi') - Request::input('mulai'); 

     DB::table('lembur_karyawan')->insert($simpan); 
     echo "<script language='javascript'> 
        alert('Berhasil menambahkan data'); 
        document.location='../user'; 
       </script>"; 
    } 

Hier fügen wir einfach einen anderen Wert in Ihr Array mit dem Namen total ein und setzen seinen Wert auf durasi - mulai.

bearbeiten

Da sie Zeiten, wir Kohlenstoff verwenden können, um den Unterschied zu generieren:

$simpan['total'] = \Carbon\Carbon::createFromFormat('H:i', Request::input('durasi')) - \Carbon\Carbon::createFromFormat('H:i', Request::input('mulai')); 
+0

oke danke anwers meine Frage aber zieht nur die Stunden ab wie wäre es mit der Minute? –

+0

Was sind die Werte, die aus dem 'durasi'- und' mulai'-Input stammen? – James

+0

ja. aber das Ergebnis nur die Stunden nicht mit der Minute. –