Home > Mobile >  How to insert a selected dropdownlist text into database in laravel
How to insert a selected dropdownlist text into database in laravel

Time:10-03

I want to insert buyer name from dropdown list into database. how can I select my dropdown selected text and save it into database table. I have a dropdown field and some text field to insert data into my database table. Here is my controller:

function GetBuyerList(){
        $buyerList=BuyerModel::all();//get data from table
//        $buyerList=BuyerModel::lists('buyer_name','id');
        //return $buyer_name;
        return view('order',compact('buyerList'));//send data to view
    }
function CreateOrder(Request $request){

    $user_id= $request->input('user_id');
    $buyer_name= $request->input('buyer_name');
    $style_name= $request->input('style_name');
    $season= $request->input('season');
    $brand_name= $request->input('brand_name');
    $garmments_type= $request->input('garmments_type');
    $order_quantity= $request->input('order_quantity');
    $fob= $request->input('fob');
    $total_fob= $request->input('total_fob');
    $merchandiser_name= $request->input('merchandiser_name');
    $order_no= $request->input('order_no');
    $order_date= $request->input('order_date');
    $status= $request->input('status');
    $input_date= $request->input('input_date');
    $note= $request->input('note');
    $result=OrderModel::insert([
        'user_id'=>$user_id,
        'buyer_name'=>$buyer_name,
        'style_name'=>$style_name,
        'season'=>$season,
        'brand_name'=>$brand_name,
        'garmments_type'=>$garmments_type,
        'order_quantity'=>$order_quantity,
        'fob'=>$fob,
        'total_fob'=>$total_fob,
        'merchandiser_name'=>$merchandiser_name,
        'order_no'=>$order_no,
        'order_date'=>$order_date,
        'status'=>$status,
        'input_date'=>$input_date,
        'note'=>$note,
    ]);


    return view('order');

}

Here is my blade code

@extends('Layout.app')
@section('content')
   <br><br><br><br>
<div  class="orderDiv container  col-8">
        <div class="d-flex justify-content-center align-items-center my-10 ">
            <div class="card full-width">
                <div class="card-header">
                    <h3>Orders</h3>
                </div>
                <div class="card-body">
                    <form>
                        <div class="row">
                            <div class="col-md-2">
                                <label for="category" class=" control-label">Buyer Name</label>
                            </div>
                            <div class="col-md-4">
                                <select class="buyerselect form-control full-width" id="buyerSelectId" name="buyer" required="">
                                    <option value="0" disabled="true" selected="true">-Select Buyer-</option>
                                    @foreach($buyerList as $buyer)
                                        <option value="{{$buyer->id}}">{{$buyer->buyer_name}}</option>
                                    @endforeach
{{--                                    <option selected value="">Select Buyer</option>--}}
{{--                                    <option value='564'>564</option>--}}

                                </select>
{{--                                {!! Form::select('id',$buyerList,null,['class'=>'form-control']) !!}--}}

                            </div>
                            <div class="col-md-4">
                                <button id="buyerModalBtnId" type="button" class="btn btn-primary" data-mdb-toggle="modal" data-mdb-target="#addBuyerModal"><i class="fas fa-plus"></i>
                                    Add New Buyer
                                </button>
                            </div>
                        </div>
                        <div class="row py-3">
                            <div class="col-md-2">
                                <label for="category" class=" control-label">Style#</label>
                            </div>
                            <div class="col-md-8">
                                <input type="text" id="typeText" class="form-control" />
                            </div>
                        </div>
                        <div class="row py-3">
                            <div class="col-md-2">
                                <label for="category" class=" control-label">Season</label>
                            </div>
                            <div class="col-md-8">
                                <input type="text" id="typeText" class="form-control" />
                            </div>
                        </div>
                        <div class="row py-3">
                            <div class="col-md-2">
                                <label for="category" class=" control-label">Brand</label>
                            </div>
                            <div class="col-md-8">
                                <input type="text" id="typeText" class="form-control" />
                            </div>
                        </div>
                        <div class="row">
                            <div class="col-md-2">
                                <label for="category" class=" control-label">Garments Type</label>
                            </div>
                            <div class="col-md-4">
                                <select class="form-control select2" name="garmentstype" style="width: 75%;" required="">
                                    <option selected value="">Select Garments</option>
                                    <option value='Baby Jacket'>Baby Jacket</option>

                                </select>
                            </div>
                            <div class="col-md-4">
                                <button type="button" class="btn btn-primary" data-mdb-toggle="modal" data-mdb-target="#exampleModal2"><i class="fas fa-plus"></i>
                                    Add Germants Type
                                </button>
                            </div>
                        </div>
                        <div class="row py-3">
                            <div class="col-md-2">
                                <label for="category" class=" control-label">Company Name</label>
                            </div>
                            <div class="col-md-4">
                                <select class="form-control full-width" name="buyer" required="">
                                    <option selected value="">Select Company</option>
                                    <option value='564'>Friend's Knittings</option>
                                    <option value='Benetton'>Debonair Ltd</option>
                                    <option value='HM'>Orbitex Knitting</option>
                                    <option value='CA'>DPQSL</option>
                                </select>
                            </div>
                            <div class="row py-3">
                                <div class="col-md-2">
                                    <label for="category" class=" control-label">Order Qty</label>
                                </div>
                                <div class="col-md-8">
                                    <input type="text" id="typeText" class="form-control" />
                                </div>
                            </div>
                            <div class="row py-3">
                                <div class="col-md-2">
                                    <label for="category" class=" control-label">FOB</label>
                                </div>
                                <div class="col-md-8">
                                    <input type="text" id="typeText" class="form-control" />
                                </div>
                            </div>
                            <div class="row py-3">
                                <div class="col-md-2">
                                    <label for="category" class=" control-label">Concern Merchandiser</label>
                                </div>
                                <div class="col-md-8">
                                    <input type="text" id="typeText" class="form-control" />
                                </div>
                            </div>
                            <div class="row py-2">
                                <div class="col-md-2">
                                    <label for="category" class=" control-label">orderDate</label>
                                </div>
                                <div class="col-md-8">
                                    <input type="text" id="typeText" class="form-control" />
                                </div>
                            </div>
                            <div class="row py-3">
                                <div class="col-md-2">
                                    <label for="category" class=" control-label">OrderNo</label>
                                </div>
                                <div class="col-md-8">
                                    <input type="text" id="typeText" class="form-control" />
                                </div>
                            </div>
                            <div class="row py-3">
                                <div class="col-md-12">
                                    <center>
                                        <button type="submit" class="btn btn-success">Submit</button>
                                    </center>
                                </div>
                            </div>
                        </div>
                    </form>
                </div>
            </div>
        </div>
    </div>
    <!-- modal 1 -->
  <div class="modal fade" id="addBuyerModal" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
        <div class="modal-dialog">
            <div class="modal-content">
                <div class="modal-header">
                    <h5 class="modal-title" id="exampleModalLabel">Add Buyer</h5>
                    <button type="button" class="btn-close" data-mdb-dismiss="modal" aria-label="Close"></button>
                </div>
                <form>
                <div class="modal-body">
                    <div id="addBuyerInformationId" class="form-group">
                    <label for="tstock" class="col-sm-2 control-label">Buyer Name</label>
                    <div class="col-sm-10">
                      <input type="text" class="form-control" id="addBuyerNameId" name="garmentstype" placeholder="Input Buyer Name">
                    </div><br>
                        <label for="tstock" class="col-sm-2 control-label">Buyer Country</label>
                        <div class="col-sm-10">
                            <input type="text" class="form-control" id="addBuyerCountryId" name="garmentstype" placeholder="Input Buyer Country">
                        </div>
                    <br>
                    </div><br>

                    <br>
                    <label for="tstock" class="col-sm-2 control-label">User Id</label>
                    <div class="col-sm-10">
                        <input type="text" class="form-control" id="addBuyerUserId" name="garmentstype" placeholder="Input User Id">
                    </div>
                    <br>
                  </div>

                <div class="modal-footer">
                    <button  type="button" class="btn btn-secondary" data-mdb-dismiss="modal">
                        Close
                    </button>
                    <button id="buyerAddConfirmButton" type="button" class="btn btn-primary" >Save changes</button>
                </div>




    <!-- modal2 -->
    <div class="modal fade" id="exampleModal2" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
        <div class="modal-dialog">
            <div class="modal-content">
                <div class="modal-header">
                    <h5 class="modal-title" id="exampleModalLabel">Create Garments Type</h5>
                    <button type="button" class="btn-close" data-mdb-dismiss="modal" aria-label="Close"></button>
                </div>
                <form>
                <div class="modal-body">
                    <div class="form-group">
                    <label for="tstock" class="col-sm-2 control-label">Select</label>
                    <div class="col-sm-10">
                      <input type="text" class="form-control" id="garmentstype" name="garmentstype" placeholder="Garments Type">
                    </div>
                    <br>
                  </div>
                </div>
                <div class="modal-footer">
                    <button type="button" class="btn btn-secondary" data-mdb-dismiss="modal">
                        Close
                    </button>
                    <button type="button" class="btn btn-primary">Save changes</button>
                </div>



    <!-- End your project here-->

@endsection

I already insert data into buyer table My custom.js file

$(document).ready(function () {
$('#VisitorDt').DataTable();
$('.dataTables_length').addClass('bs-select');
});

$('#buyerModalBtnId').click(function() {

    $('#addBuyerModal').modal('show');
});
$('#buyerAddConfirmButton').click(function() {
    // var id=$(this).data('id');

    var name = $('#addBuyerNameId').val();
    var country = $('#addBuyerCountryId').val();
    var user=$('#addBuyerUserId').val();

    BuyerAdd(name, country,user);

});

function BuyerAdd(buyerName, buyerCountry,buyerUserId) {

    if (buyerName.length == 0) {
        toastr.error('Buyer Name is Empty !');

    } else if (buyerCountry.length == 0) {
        toastr.error('Buyer Description is Empty !');

    }
    else if (buyerUserId.length == 0) {
        toastr.error('Buyer User Id is Empty !');

    }
    else {
        $('#buyerAddConfirmButton').html("<div class='spinner-border spinner-border-sm' role='status'></div>"); ///Animation Set
        axios.post('/BuyerAdd', {

            name: buyerName,
            country: buyerCountry,
            user_id:buyerUserId,

        })
            .then(function(response) {
                $('#buyerAddConfirmButton').html("Add");
                if (response.status == 200) {
                    if (response.data == 1) {
                        // alert('Success');
                        $('#addBuyerModal').modal('hide');
                        toastr.success('Add Successfull');
                        $('#buyerAddConfirmButton').addClass('data-mdb-dismiss');


                        //getServicesData();
                    } else {
                        // alert('Failed');
                        $('#addBuyerModal').modal('hide');
                        toastr.error('Add Failed !!');
                        //getServicesData();
                    }
                } else {
                    $('#addBuyerModal').modal('hide');
                    toastr.error('Something Went Wrong');

                }


            })

            .catch(function(error) {
                $('#addBuyerModal').modal('hide');
                toastr.error('Something Went Wrong');


            });
    }

}

// Order Data Part

CodePudding user response:

Regardless of some formatting errors and codestyle, here is the short workflow for your question:

  1. validate requested data
  2. instead of insert, use OderModel::create($request->input())
  3. make the fields in your Order Model fillable

if you still need to edit the request data, create a new array and then give it to the create method with (OrderModel::create($newModifiedRequestedData);)

Frontend/view is clear?

CodePudding user response:

The request name which you are using in controller for buyer as buyer_name it should be same as select tag in name with buyer_name.

Replace you blade file with below code and check*

@extends('Layout.app')
@section('content')
   <br><br><br><br>
<div  class="orderDiv container  col-8">
        <div class="d-flex justify-content-center align-items-center my-10 ">
            <div class="card full-width">
                <div class="card-header">
                    <h3>Orders</h3>
                </div>
                <div class="card-body">
                    <form>
                        <div class="row">
                            <div class="col-md-2">
                                <label for="category" class=" control-label">Buyer Name</label>
                            </div>
                            <div class="col-md-4">
                                <select class="buyerselect form-control full-width" id="buyerSelectId" name="buyer_name" required="">
                                    <option value="0" disabled="true" selected="true">-Select Buyer-</option>
                                    @foreach($buyerList as $buyer)
                                        <option value="{{$buyer->id}}">{{$buyer->buyer_name}}</option>
                                    @endforeach
{{--                                    <option selected value="">Select Buyer</option>--}}
{{--                                    <option value='564'>564</option>--}}

                                </select>
{{--                                {!! Form::select('id',$buyerList,null,['class'=>'form-control']) !!}--}}

                            </div>
                            <div class="col-md-4">
                                <button id="buyerModalBtnId" type="button" class="btn btn-primary" data-mdb-toggle="modal" data-mdb-target="#addBuyerModal"><i class="fas fa-plus"></i>
                                    Add New Buyer
                                </button>
                            </div>
                        </div>
                        <div class="row py-3">
                            <div class="col-md-2">
                                <label for="category" class=" control-label">Style#</label>
                            </div>
                            <div class="col-md-8">
                                <input type="text" id="typeText" class="form-control" />
                            </div>
                        </div>
                        <div class="row py-3">
                            <div class="col-md-2">
                                <label for="category" class=" control-label">Season</label>
                            </div>
                            <div class="col-md-8">
                                <input type="text" id="typeText" class="form-control" />
                            </div>
                        </div>
                        <div class="row py-3">
                            <div class="col-md-2">
                                <label for="category" class=" control-label">Brand</label>
                            </div>
                            <div class="col-md-8">
                                <input type="text" id="typeText" class="form-control" />
                            </div>
                        </div>
                        <div class="row">
                            <div class="col-md-2">
                                <label for="category" class=" control-label">Garments Type</label>
                            </div>
                            <div class="col-md-4">
                                <select class="form-control select2" name="garmentstype" style="width: 75%;" required="">
                                    <option selected value="">Select Garments</option>
                                    <option value='Baby Jacket'>Baby Jacket</option>

                                </select>
                            </div>
                            <div class="col-md-4">
                                <button type="button" class="btn btn-primary" data-mdb-toggle="modal" data-mdb-target="#exampleModal2"><i class="fas fa-plus"></i>
                                    Add Germants Type
                                </button>
                            </div>
                        </div>
                        <div class="row py-3">
                            <div class="col-md-2">
                                <label for="category" class=" control-label">Company Name</label>
                            </div>
                            <div class="col-md-4">
                                <select class="form-control full-width" name="buyer" required="">
                                    <option selected value="">Select Company</option>
                                    <option value='564'>Friend's Knittings</option>
                                    <option value='Benetton'>Debonair Ltd</option>
                                    <option value='HM'>Orbitex Knitting</option>
                                    <option value='CA'>DPQSL</option>
                                </select>
                            </div>
                            <div class="row py-3">
                                <div class="col-md-2">
                                    <label for="category" class=" control-label">Order Qty</label>
                                </div>
                                <div class="col-md-8">
                                    <input type="text" id="typeText" class="form-control" />
                                </div>
                            </div>
                            <div class="row py-3">
                                <div class="col-md-2">
                                    <label for="category" class=" control-label">FOB</label>
                                </div>
                                <div class="col-md-8">
                                    <input type="text" id="typeText" class="form-control" />
                                </div>
                            </div>
                            <div class="row py-3">
                                <div class="col-md-2">
                                    <label for="category" class=" control-label">Concern Merchandiser</label>
                                </div>
                                <div class="col-md-8">
                                    <input type="text" id="typeText" class="form-control" />
                                </div>
                            </div>
                            <div class="row py-2">
                                <div class="col-md-2">
                                    <label for="category" class=" control-label">orderDate</label>
                                </div>
                                <div class="col-md-8">
                                    <input type="text" id="typeText" class="form-control" />
                                </div>
                            </div>
                            <div class="row py-3">
                                <div class="col-md-2">
                                    <label for="category" class=" control-label">OrderNo</label>
                                </div>
                                <div class="col-md-8">
                                    <input type="text" id="typeText" class="form-control" />
                                </div>
                            </div>
                            <div class="row py-3">
                                <div class="col-md-12">
                                    <center>
                                        <button type="submit" class="btn btn-success">Submit</button>
                                    </center>
                                </div>
                            </div>
                        </div>
                    </form>
              
  • Related