douliang2935 2018-08-16 20:40
浏览 33
已采纳

如何将下拉列表中的选定值传递给控制器​​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-16 20: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 );
    }
    

    展开全部

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部