Laravel(New user):用户存储函数以update()和save()。如果不存在,则save()否则为Update()

问题描述 投票:-1回答:1
  public function store(Request $request)
    {
        //

        /*$request->validate([
                    'user_id'=>'required',
                    'time_in'=>'required',
                     'log_date'=>'required',
        ]);*/
        //dd($_POST);

        $attendance = new Attendance([
            'user_id' => $request->get('user_id'),
            'location' => $request->get('location'),
            'time_in' =>  date('h:i:s'), /*$request->get('time_in'),*/
            'log_date' => date('Y-m-d')  /* $request->get('log_date')*/

        ]);

       $user=Attendance::where('user_id', $request->get('user_id') && 'log_date', date('Y-m-d'))->first();

if($user == null) {

    $attendance->save();
    return  redirect()
        ->back()
        ->with('success', $request->get('user_id').':  You have clocked in successfully!');

}else{

   /* Attendance::where('user_id', $request->get('user_id') && 'log_date', date('Y-m-d'))->update(
        ['time_out' => date('Y-m-d')]
    );*/

   $attendance->update(['time_out'=> date('Y-m-d')]);

    return  redirect()
        ->back()
        ->with('success', $request->get('user_id').':  You have clocked Out!');


}
laravel eloquent sql-update store laravel-5.7
1个回答
0
投票
您需要执行以下方式:

$user= Attendance::findOrFail($request->get('user_id'); if( !empty( $user )){ $user->time_out = date('Y-m-d'); $user->save(); return redirect() ->back() ->with('success', $request->get('user_id').': You have clocked Out!'); } else { $attendance = new Attendance; $attendance->user_id = $request->get('user_id'); $attendance->location = $request->get('location'); $attendance->time_in = date('h:i:s'); attendance->log_date = date('Y-m-d'); $attendance->save(); return redirect() ->back() ->with('success', $request->get('user_id').': You have clocked in successfully!'); }

© www.soinside.com 2019 - 2024. All rights reserved.