Mirasan
Mirasan

Reputation: 259

How to pass the chosen value in dropdownlist to controller tothen save

Hey guys please help help how can I pass chosen data in dropdownlist to controller to save then. Here is the code I am using:
The view:

 <div class="form-group">
     {{Form::label('IncomeExpense', 'Income&Expense')}}
     {{Form::select('IncomeExpense', array( 'Expense', 'Income'),null,['class'=>'form-control'])}}
    </div>


<div class="form-group">
            {{Form::label('', 'Income')}} 
            {{Form::select('IncomeId', $incomes,null,['class'=>'form-control','id'=>'Income',  'onChange'=>'validate()'])}}
           </div>

The controller:

 $incexp= new IncomeExpenses();
 $incexp->IncomeExpense=$request->input('IncomeExpense');
 $incexp->save();

Model class

class IncomeExpenses extends Model
{
    public function income(){
        return $this->hasOne(Income::class);
    }
    public function expense(){
        return $this->hasOne(Expenses::class);
    }
}

Upvotes: 0

Views: 51

Answers (1)

Erubiel
Erubiel

Reputation: 2972

EDIT

Try using $incexp->IncomeExpense=$request->IncomeExpense; instead of $request->input('IncomeExpense');


This is just like sending any other form, are you having trouble only with dropdowns ?

Your form open call should look something like this:

{!! Form::open(['method' => 'POST',  'url' => url('yourURL')] ) !!}

Depending on the version of Laravel 5... you will have to set the routes in the file routes.php or web.php

Route::post('yourURL', 'YourController@store');

Your store method should be something like

/**
 * Store a newly created resource in storage.
 *
 * @param  \Illuminate\Http\Request  $request
 * @return \Illuminate\Http\Response
 */
public function store(Request $request)
{
    $validator = Validator::make($request->all(), [
        'yourInput'                 => 'required',
    ]);

    if ($validator->fails()) {
        return redirect()->intended('yourURL')->withErrors($validator)->withInput();
    }

    DB::beginTransaction();
    $incexp= new IncomeExpenses();
    $incexp->IncomeExpense=$request->IncomeExpense;
    $incexp->save();

    DB::commit();

    return redirect()->intended('yourURL/' . $incexp->id );
}

Upvotes: 1

Related Questions