public function equalsubject(Request $request) { // for all_complete or part complete or all_refuse $complete = 0; $refuse = 0; $equal_subject; $order_state = ''; foreach ($request->order_equal_subject_id as $key => $value) { $equal_subject = EqualSubject::with('order')->findOrFail($value); if ($request->equal_subject_id[$key] != '-1') { $equal_subject->equal_subject_id = $request->equal_subject_id[$key]; $equal_subject->is_equal = 1; $complete = 1; // convert student_subject state to equal if ($equal_subject->save()) { StudentSubject::where("subject_id", $equal_subject->equal_subject_id)->where('student_id', $equal_subject->order->student_id)->update(['state' => 'equal']); } } else { $equal_subject->is_equal = -1; $refuse = 1; $equal_subject->save(); } } //convert order_equal state to (complete or part complete) $equal_order = Equal::findOrFail($equal_subject->equal_order_id); if ($complete == 0 && $refuse == 0) { // no subjetct sent } elseif ($complete == 1 && $refuse == 0) { $order_state = 'قبول كلى'; } elseif ($complete == 0 && $refuse == 1) { $order_state = 'رفض كلى'; } else { $order_state = 'قبول جزئي'; } $equal_order->state = $order_state; $equal_order->save(); //save in history $order_history = new Orderhistory(); $order_history->ref_key = 'order_equals'; $order_history->ref_value = $equal_order->id; $order_history->state = $order_state; //$order_history ->note =$request->note; $order_history->created_by = user()->id; $order_history->save(); return redirect()->route('equal.show', $equal_order->id)->with('success', trans('orders::order.change_success')); }