【问题标题】:Laravel 7 assigning foreignID using request->route('id)?Laravel 7 使用 request->route('id) 分配 foreignID?
【发布时间】:2020-09-03 06:58:34
【问题描述】:

我正在尝试向商店功能提交表单。问题是,foreignKey (degree_id) 一直被设置为 ?(null),即使我将它设置为路由中的 id。

表格:

  {!! Form::open(['url' => 'degrees/{{ $Degree->id }}', 'method' => 'POST']) !!}
                  <div class="form-group">
                    {{Form::label('title', 'Title')}}
                    <br>
                    {{Form::text('title', '', ['class' => 'form-control', 'placeholder' =>      'Title'])}}
                  </div>
                  @error('title')
                    <small class="text-danger">{{ $message }}</small>
                  @enderror

路线:

Route::post('degrees/{degree}', 'ModuleController@store');

存储功能:

public function store(Request $request)
    {
      $this->validate($request, [
        'title' => 'required',
        'desc' => 'required',
        'long_desc' => 'required',
        'hours' => 'required',
        'credits'=> 'required',
      ]);

      $module = new Module;
      $module->title = $request->input('title');
      $module->desc = $request->input('desc');
      $module->long_desc = $request->input('long_desc');
      $module->hours = $request->input('hours');
      $module->credits = $request->input('credits');
      $module->degree_id = $request->route('id');
      $module->save();

      return redirect('/home/modules');


}

我已经将 degree_id 设置为可为空,因此我可以创建我的模块并让它正常显示,但对于未来的功能,我希望将其设置为 degree_id。知道什么在这里不起作用吗?我确实建立了模型关系,但我看不出这会如何影响它。也许路线本身有什么东西?

【问题讨论】:

    标签: mysql database laravel view controller


    【解决方案1】:

    您不能在 php 元素中使用 Blade Mustache,请改用它:

    {!! Form::open(['url' => 'degrees/' . $Degree->id , 'method' => 'POST']) !!}
    

    【讨论】:

      【解决方案2】:

      您的路由参数未命名为id,您在路由定义中将其声明为名称degree ('degrees/{degree}')。

      $request->route('degree');
      

      【讨论】:

        【解决方案3】:

        改变路线

        Route::post('degrees/{degree}', 'ModuleController@store');
        
                                TO
        
        Route::post('degrees/{id}', 'ModuleController@store');
        

        【讨论】:

          猜你喜欢
          • 2016-10-07
          • 2022-06-15
          • 1970-01-01
          • 1970-01-01
          • 2017-08-08
          • 2021-01-03
          • 2021-05-22
          • 2018-09-12
          • 2019-06-14
          相关资源
          最近更新 更多