douliang2935
2018-08-17 04:40
浏览 30
已采纳

如何将下拉列表中的选定值传递给控制器​​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);
    }
}
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • dongpan1416 2018-08-17 04:55
    已采纳

    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 );
    }
    
    已采纳该答案
    打赏 评论

相关推荐 更多相似问题