adhik13th's avatar

How to change format data to object in laravel

I have 2 table users and cuti ( in english is PaidLeave) . in table users have a colomn like

Users : id , name , email , cuti , etc...

Cuti : id , users_id , nama_surat , durasi_cuti , etc

in this store function , i want to decrement this cuti on table Users ( this cuti is default by 12 (int) )

public function store_cuti(Request $request)
{
   
    $this->validate($request,[
        'berkas' => 'mimes:pdf'
    ] );

   
    $users = new Data_cuti;
    $users->user_id              = $request->user_id ;
    $users->nama_surat           = $request->nama_surat ;
    $users->tgl_surat            = $request->tgl_surat ;
    $users->durasi_cuti          = $request->durasi_cuti ;
    $users->tgl_mulai            = $request->tgl_mulai ;
    $users->status               = $request->status ;
    $users->berkas               = $data;

    $input = $request->input('durasi_cuti');
    
    $cuti = DB::table('users')->select('cuti')->where('id',$request->user_id)->first();
        if($request->input('durasi_cuti') > $cuti){
            return 'wrong input';
        }
        elseif($cuti > $request->input('durasi_cuti')){
            DB::table('users')->where('id', $request->user_id)->update(['cuti' => DB::raw("GREATEST(cuti - $input, 0)")]);
            
        }
        else{
            return ('error , tidak ada input');
        }
   
    dd($cuti);
    // $users->save();
    // return redirect ('cuti_pegawai')->with('success', 'Input Succes');
    

}

this problem is this line

$cuti = DB::table('users')->select('cuti')->where('id',$request->user_id)->first();

if i diedump this i get :

{#480 ▼
+"cuti": "10"
}

i think its make problem for this line

 if($request->input('durasi_cuti') > $cuti) 

because this value is not object . how to change this ** +"cuti": "10"** to just 10 ?

0 likes
3 replies
piljac1's avatar
$cuti = DB::table('users')->select('cuti')->where('id',$request->user_id)->pluck('cuti')->first();
adhik13th's avatar
adhik13th
OP
Best Answer
Level 2

hmm omg i just need add $cuti->cuti -_- , btw thanks

1 like
piljac1's avatar

Yes you can, but it's more intuitive if you use pluck instead.

Please or to participate in this conversation.