0

I have this one form and the saving will be using Ajax. The form using Ajax validates well if the input fields are empty. Now my problem is how will I be able to save it into the database.

Here is my form:

<form action="travelrequirementsadd" method="post" class="ajax-form">
  <div class="col col-clear-right">
    <label for="">Title<em>(required)</em></label>
    <input type="text" name="title" id="title" value="">
  </div>
  <div class="col col6 col-padright-10">
    <label for="">From<em>(required)</em></label>
    <input type="text" name="from" id="from" value="" placeholder="e.g Cebu">
  </div>
  <div class="col col6 col-padleft-10">
    <label for="">To<em>(required)</em></label>
    <input type="text" name="to" id="to" value="" placeholder="e.g Manila">
  </div>
  <div class="col col6 col-padright-10">
    <label for="">Departure<em>(required)</em></label>
    <div class="input-group date">
      <input type="text" name="departureDate" id="departureDate" class="form-control" placeholder="Select Departure Date">
      <span class="input-group-addon"><i class="glyphicon glyphicon-th"></i></span>
    </div>
  </div>
  <div class="col col6 col-padleft-10">
    <label for="">Return<em>(required)</em></label>
    <div class="input-group date">
      <input type="text" class="form-control" name="returnDate" id="returnDate" placeholder="Select Return Date">
      <span class="input-group-addon"><i class="glyphicon glyphicon-th"></i></span>
    </div>
  </div>
  <div class="col col4 col-padright-15">
    <label for="">Adults 12 + Yrs<em>(required)</em></label>
    <select class="form-control" name="adults" id="adults">
        <option value="Select">Select</option>
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
        <option value="4">4</option>
        <option value="5">5</option>
        <option value="6">6</option>
        <option value="7">7</option>
        <option value="8">8</option>
        <option value="9">9</option>
    </select>
  </div>
  <div class="col col4 col-padright-5 col-padleft-5">
    <label for="">Children 2 - 12 Yrs<em>(required)</em></label>
    <select class="form-control" name="children" id="children">
        <option value="Select">Select</option>
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
        <option value="4">4</option>
        <option value="5">5</option>
        <option value="6">6</option>
        <option value="7">7</option>
        <option value="8">8</option>
        <option value="9">9</option>
    </select>
  </div>
  <div class="col col4 col-padleft-15">
    <label for="">Infants 0 - 2 Yrs<em>(required)</em></label>
    <select class="form-control" name="infants" id="infants">
        <option value="Select">Select</option>
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
        <option value="4">4</option>
        <option value="5">5</option>
        <option value="6">6</option>
        <option value="7">7</option>
        <option value="8">8</option>
        <option value="9">9</option>
    </select>
  </div>
  <div class="col col4 col-padright-15">
    <label for="sel1">Preferred Airline<em>(required)</em></label>
    <select class="form-control" id="sel1" name="preferredAirline" id="preferredAirline">
      <option value="Select">Any</option>
      <option value="1">Aer Lingus             </option>
      <option value="2">Aeroflot               </option>
      <option value="3">Aerolineas Argentinas  </option>
      <option value="4">Aeromexico</option>
      <option value="5">Air Canada</option>
      <option value="6">Air China</option>
      <option value="7">Air Europa             </option>
      <option value="8">Air France             </option>
      <option value="9">Air India              </option>
      <option value="10">Air India Express      </option>
      <option value="11">Air New Zealand        </option>
      <option value="12">Air Tahiti Nui         </option>
      <option value="13">Air Transat            </option>
      <option value="14">Air Vanuatu            </option>
      <option value="15">AirAsia                </option>
      <option value="16">AirAsia X              </option>
      <option value="17">Airberlin              </option>
      <option value="18">Alaska Airlines        </option>
      <option value="19">Alitalia               </option>
      <option value="20">Allegiant              </option>
      <option value="21">American Airlines      </option>
      <option value="22">ANA                    </option>
      <option value="23">Asiana                 </option>
      <option value="24">AtlasGlobal            </option>
      <option value="25">Austrian               </option>
      <option value="26">Avianca                </option>
      <option value="27">Bangkok Airways        </option>
      <option value="28">British Airways        </option>
      <option value="29">Brussels Airlines      </option>
      <option value="30">Cathay Pacific         </option>
      <option value="31">CEBU Pacific Air       </option>
      <option value="32">China Airlines         </option>
      <option value="33">China Eastern          </option>
      <option value="34">China Southern         </option>
      <option value="35">Condor                 </option>
      <option value="36">Copa Airlines          </option>
      <option value="37">Czech Airlines         </option>
      <option value="38">Delta                  </option>
      <option value="39">Dragonair              </option>
      <option value="40">EasyJet                </option>
      <option value="41">EL AL                  </option>
      <option value="42">Emirates               </option>
      <option value="43">Ethiopian Airlines     </option>
      <option value="44">Etihad                 </option>
      <option value="45">EVA Air                </option>
      <option value="46">Fiji Airways           </option>
      <option value="47">Finnair                </option>
      <option value="48">Frontier               </option>
      <option value="49">Garuda Indonesia       </option>
      <option value="50">Germanwings            </option>
      <option value="51">Gol                    </option>
      <option value="52">Gulf Air               </option>
      <option value="53">Hainan Airlines        </option>
      <option value="54">Iberia                 </option>
      <option value="55">Icelandair             </option>
      <option value="56">IndiGo Airlines        </option>
      <option value="57">Japan Airlines         </option>
      <option value="58">Jet Airways            </option>
      <option value="59">JetBlue                </option>
      <option value="60">Jetstar                </option>
      <option value="61">Kenya Airways          </option>
      <option value="62">KLM                    </option>
      <option value="63">Korean Air             </option>
      <option value="64">LAN Airlines           </option>
      <option value="65">Lion Airlines          </option>
      <option value="66">LOT Polish Airlines    </option>
      <option value="67">Lufthansa              </option>
      <option value="68">Malaysia Airlines      </option>
      <option value="69">Monarch                </option>
      <option value="70">Nok Air                </option>
      <option value="71">Norwegian              </option>
      <option value="72">Oman Air               </option>
      <option value="73">OpenSkies              </option>
      <option value="74">Peach                  </option>
      <option value="75">Philippine Airlines    </option>
      <option value="76">Porter                 </option>
      <option value="77">Qantas                 </option>
      <option value="78">Qatar Airways          </option>
      <option value="79">Regional Express       </option>
      <option value="80">Royal Brunei           </option>
      <option value="81">Royal Jordanian        </option>
      <option value="82">Ryanair                </option>
      <option value="83">S7 Airlines            </option>
      <option value="84">SAS                    </option>
      <option value="85">Saudia                 </option>
      <option value="86">Scoot Airlines         </option>
      <option value="87">Singapore Airlines     </option>
      <option value="88">Skylanes               </option>
      <option value="89">South African Airways  </option>
      <option value="90">Southwest              </option>
      <option value="91">SpiceJet               </option>
      <option value="92">Spirit                 </option>
      <option value="93">Spring Airlines        </option>
      <option value="94">Spring Japan           </option>
      <option value="95">SriLankan Airlines     </option>
      <option value="96">Sun Country            </option>
      <option value="97">SWISS                  </option>
      <option value="98">TACA                   </option>
      <option value="99">TAM                    </option>
      <option value="100">TAP Portugal           </option>
      <option value="101">THAI                   </option>
      <option value="102">Thomas Cook Airlines   </option>
      <option value="103">Thomson                </option>
      <option value="104">Tigerair               </option>
      <option value="105">Tuifly                 </option>
      <option value="106">Turkish Airlines       </option>
      <option value="107">United                 </option>
      <option value="108">Vanilla Air            </option>
      <option value="109">Virgin America         </option>
      <option value="110">Virgin Atlantic        </option>
      <option value="111">Virgin Australia       </option>
      <option value="112">Volaris                </option>
      <option value="113">Vueling Airlines       </option>
      <option value="114">WestJet                </option>
      <option value="115">Wizzair                </option>
      <option value="116">WOW air                </option>
     </select>
  </div>

  <div class="col col4 col-padleft-15">

    <label >Senior Citizen<em>(required)</em></label>
    <select name="seniorCitizen"  id="seniorCitizen"class="form-control">
         <option value="select">Select</option>
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
        <option value="4">4</option>
        <option value="5">5</option>
        <option value="6">6</option>
        <option value="7">7</option>
        <option value="8">8</option>
    </select>
  </div>


  <div class="col col4 col-padright-5 col-padleft-5">
    <label for="">Visa needed<em>(required)</em></label>
    <select name="visaNeeded" id="visaNeeded" class="form-control">
        <option value="select">Select</option>
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
        <option value="4">4</option>
        <option value="5">5</option>
        <option value="6">6</option>
        <option value="7">7</option>
        <option value="8">8</option>
        <option value="9">9</option>
    </select>
  </div>
  <div class="col col4 col-padright-5 col-padleft-5">
    <label for="">Passport needed<em>(required)</em></label>
    <select name="passportNeeded" id="passportNeeded" class="form-control">
        <option value="select">Select</option>
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
        <option value="4">4</option>
        <option value="5">5</option>
        <option value="6">6</option>
        <option value="7">7</option>
        <option value="8">8</option>
        <option value="9">9</option>
    </select>
  </div>
  <div class="col col4 col-padleft-15">
    <label for="checktourpackage" >Travel requirements<em>(required)</em></label>
    <select name="travelRequirements" id="travelRequirements" class="form-control">
        <option value="select">Select</option>
        <option value="1">Tour only</option>
        <option value="2">Tickets only</option>
        <option value="3">Tour and Tickets</option>

    </select>
  </div>
  <div class="col col4 col-padleft-5">
    <label for="checktourpackage" >Hotel<em>(required)</em></label>
    <select name="hotel" id="hotel" class="form-control">
        <option value="select">Select</option>
        <option value="1">Yes</option>
        <option value="2">No</option>

    </select>
  </div>

  <div class="col">
    <label for="">Other travel details<em>(required)</em></label>
    <textarea name="otherTravelDetails" id="otherTravelDetails"></textarea>
  </div>
  <div class="post-quotation-footer">
    <a href="#" class="btn btn-default">Cancel</a>
    <input type="submit" value="Post Travel Requirements" class="btn btn-success" />
  </div>
  </form>

I'm using a class="ajax-form" to call the Ajax function to validate and to be saved also.

Here is my code:

//travel requirements add
function ajax_travelrequirementsadd(){

    if (Auth::guest()) exit;

    $title  = $_POST['title'];
    $from   = $_POST['from'];
    $to     = $_POST['to'];
    $departureDate  = $_POST['departureDate'];
    $returnDate     = $_POST['returnDate'];
    $adults     = $_POST['adults'];
    $children   = $_POST['children'];
    $infants    = $_POST['infants'];
    $preferredAirline   = $_POST['preferredAirline'];
    $seniorCitizen  = $_POST['seniorCitizen'];
    $visaNeeded = $_POST['visaNeeded'];
    $passportNeeded   = $_POST['passportNeeded'];
    $travelRequirements = $_POST['travelRequirements'];
    $hotel  =   $_POST['hotel'];
    $otherTravelDetails = $_POST['otherTravelDetails'];


    //$user = User::find(Auth::user()->id);
    //$travelForm = TravelRequirement::find(Auth::user()->id);

    $data  = array(
                    'title' => $title,
                    'from'  => $from,
                    'to'    => $to,
                    'departureDate'=>$departureDate,
                    'returnDate' =>$returnDate,
                    'adults'  =>$adults,
                    'children'=>$children,
                    'infants'=>$infants,
                    'preferredAirline'=>$preferredAirline,
                    'seniorCitizen'=>$seniorCitizen,
                    'visaNeeded'=>$visaNeeded,
                    'passportNeeded'=>$passportNeeded,
                    'travelRequirements'=>$travelRequirements,
                    'hotel'=>$hotel,
                    'otherTravelDetails'=>$otherTravelDetails
                   );
    $rules = array(
                    'title' => "required",
                    'from'  => "required",
                    'to'    => "required",
                    'departureDate' => "required",
                    'returnDate'    => "required",
                    'adults'    => "required|Numeric",
                    'children'  => "required|Numeric",
                    'infants'   => "required|Numeric",                
                    'preferredAirline'=>"required|Numeric",
                    'seniorCitizen'=>"required|Numeric",
                    'visaNeeded'=>"required|Numeric",
                    'passportNeeded'=>"required|Numeric",
                    'travelRequirements'=>"required|Numeric",
                    'hotel'=>"required|Numeric",
                    'otherTravelDetails'=>"required"
                    );

    $validator = Validator::make($data, $rules);


    if($validator->passes()){
        //$travelForm  = new TravelRequirements();
        //$travelForm->save();

    }else{
        json_message($validator->errors()->toArray(), false);
    }
}

Can someone help me how will I be able to save into the database? Any help is appreciated.

3
  • whats the name of your model? Commented May 2, 2016 at 3:42
  • the name of my model is TravelRequirement its in apps/models Commented May 2, 2016 at 3:44
  • see i updated my answer Commented May 2, 2016 at 3:51

1 Answer 1

2

one way is

if($validator->passes()){
     TravelRequirement::create($data);
}

another way is

if($validator->passes()){

    $travelRequirement = new TravelRequirement;
    $travelRequirement->title =  $title;
    $travelRequirement->from  =  $from;
    $travelRequirement->to    =  $to;
    $travelRequirement->departureDate= $departureDate;
    $travelRequirement->returnDate = $returnDate;
    $travelRequirement->adults  = $adults;
    $travelRequirement->children= $children;
    $travelRequirement->infants= $infants;
    $travelRequirement->preferredAirline= $preferredAirline;
    $travelRequirement->seniorCitizen= $seniorCitizen;
    $travelRequirement->visaNeeded= $visaNeeded;
    $travelRequirement->passportNeeded= $passportNeeded;
    $travelRequirement->travelRequirements= $travelRequirements;
    $travelRequirement->hotel= $hotel;
    $travelRequirement->otherTravelDetails= $otherTravelDetails;
    $travelRequirement->save();
}
Sign up to request clarification or add additional context in comments.

1 Comment

can you help me add a success flash message to it?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.