2016-11-08 3 views
0

У меня было 2 стола. драйвер и part_time_available в том же виде, когда я выбираю тип драйвера = parttime, он отобразит поле part_time_available (день, start_time, end_time).Если условие при сохранении laravel

Как сделать условие, если пользователь выбирает полный рабочий день. он не хранил партию part_time_available в базе данных.

вот мой savehandler код до сих пор:

public function saveHandler(Request $request, $obj) 
{ 
    try { 
     DB::beginTransaction(); 
      $obj->fill($request->all()); 
      if (!$obj->save()) { 
       throw new ValidationException($obj->errors()); 
      } 
      foreach($request->parttimeAvailabilities as $pta) { 
       \Log::info($pta); 
       if (empty($pta['id'])) { 
        $parttimeAvailability = new PartTimeAvailability(); 
       } 
       else { 
        $parttimeAvailability = PartTimeAvailability::find($pta['id']); 
       } 
       $parttimeAvailability->driver()->associate($obj); 
       $pta['driver_id'] = isset($pta['driver_id']); 
       $parttimeAvailability->day = $pta['day']; 
       $parttimeAvailability->start_time = isset($pta['start_time']) ? $pta['start_time'] : '00:00:00'; 
       $parttimeAvailability->end_time = isset($pta['end_time']) ? $pta['end_time'] : '00:00:00'; 
       $parttimeAvailability->available = isset($pta['available']); 
       $parttimeAvailability->save(); 
      }; 
      $obj->save(); 
      if (!$parttimeAvailability->save()) { 
       throw new ValidationException($parttimeAvailability->errors()); 
      } 
     DB::commit(); 
     return $this->sendSuccessResponse($request); 
    } catch (ValidationException $e) { 
     DB::rollback(); 
     \Log::error($e->errors); 
     return $this->sendErrorResponse($request, $e->errors); 
    } catch (Exception $e) { 
     DB::rollback(); 
     \Log::error($e->getMessage()); 
     return $this->sendErrorResponse($request,'Unable to process. Please contact system Administrator'); 
    } 

} 

Я имею в виду перед запуском Еогеасп, он должен проверить это неполный рабочий день или нет.

любая идея?

ответ

0

Вы можете задать условие перед целым циклом foreach. таких как:

if($request->get('driver_type') != 'full_time'){ 
foreach loop 
} 
Смежные вопросы