public function search($input) { $query = PartnerTransaction::query(); $columns = Schema::getColumnListing('partnerTransactions'); $attributes = array(); foreach ($columns as $attribute) { if (isset($input[$attribute]) and !empty($input[$attribute])) { $query->where($attribute, $input[$attribute]); $attributes[$attribute] = $input[$attribute]; } else { $attributes[$attribute] = null; } } return [$query->get(), $attributes]; }
/** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { $all = $request->all(); $rooms = json_decode($all['rrooms'], true); $now = date('Y-m-d H:i:s'); $reservecode = isset($all['reserve_code']) && trim($all['reserve_code']) != '' ? $all['reserve_code'] : Reservation::generateReserveCode(); $reservation = ["guest_id" => $all['guest_id'], "reserve_date" => $all['reserve_date'], "Partner" => $all['partner'], "pax" => $all['pax'], "pickup_time" => $all['pickup_time'], "pickup_location" => $all['pickup_location'], "notes" => $all['notes'], "reserve_fee" => $all['reserve_fee'], "card_type" => $all['cardType'], "date_created" => $now, "date_updated" => $now, "batch_number" => $all['batch_number'], "is_debit" => isset($all['is_debit']) ? 1 : 0, "card_suffix" => $all['card_suffix'], "multi_entry_approver" => ""]; $res = Reservation::find($reservecode); if (is_null($res)) { $reservation['reserve_code'] = $reservecode; Reservation::create($reservation); } else { Reservation::find($reservecode)->update($reservation); } $partnerTrxn = ["booking_number" => $all['booking_number'], "payable" => $all['commission'], "transaction_date" => $all['reserve_date'], "reserve_code" => $reservecode, "result_status" => 'Confirmed', "receivable" => '0.00', "partner_name" => $all['partner'], "remarks" => $all['remarks']]; $pt = PartnerTransaction::where(['reserve_code' => $reservecode])->get()->first(); if (is_null($pt)) { PartnerTransaction::create($partnerTrxn); } else { $pt->update($partnerTrxn); } $this->saveReserveRooms($rooms, $reservecode); return redirect('reservations' . '?reserve_code=' . $reservecode)->with('status', 'Reservation data saved'); }