Laravel 5.4视图<form>没有将所有表单输入POST到相应的控制器

时间:2017-02-10 18:22:31

标签: forms laravel post controller laravel-5.4

所以我遇到了一些问题 - 我正在开发一个Laravel 5.4应用程序,我想将表单数据从我创建的视图发布到各自的Controller。我已经测试了,数据被发送到正确的位置,但是在所有不同的输入(lesson_module_id,title和description)中,只有“title”输入正在发回实际的表单输入 - 所有其他的都是传回的数组中的“null”。

也许我只是花了很长时间看这个并且我的大脑被炸了,但是有人看到我错过了吗? P.S.,我已经确定路线是正确的,并且$ request实际上正在通过!

这是我的HTML / Blade视图:

<form role="form" method="POST" action="{{ route('lessons.store') }}">
        {{ csrf_field() }}

        <div class="form-group {{ $errors->has('lesson_module_id') ? 'has-error' : '' }}">
          <label for="lesson_module_id">Lesson Module</label>
          <select id="lesson_module_id" class="form-control" required>
            <option name="lesson_module_id" selected disabled>Please select a lesson module</option>
            @foreach ($lesson_modules as $lm)
              <option value="{{ $lm->id }}">{{ $lm->title }}</option>
            @endforeach
          </select>

          @if ($errors->has('lesson_module_id'))
            <span class="help-block">
              <strong>{{ $errors->first('lesson_module_id') }}</strong>
            </span>
          @endif

        </div>

        <div class="form-group {{ $errors->has('title') ? ' has-error' : '' }}">
          <label for="title">Title</label>

          <input id="title" type="text" class="form-control" name="title" value="{{ old('title') }}" required autofocus>

          @if ($errors->has('title'))
            <span class="help-block">
              <strong>{{ $errors->first('title') }}</strong>
            </span>
          @endif
        </div>

        <div class="form-group {{ $errors->has('description') ? ' has-error' : '' }}">
          <label for="description">Description</label>

          <textarea id="description" class="body-textarea medium-editor-textarea" rows="15" required></textarea>

          @if ($errors->has('description'))
            <span class="help-block">
              <strong>{{ $errors->first('description') }}</strong>
            </span>
          @endif
        </div>

        <div class="form-group">
          <div class="col-md-12 text-center">
            <input class="btn btn-primary" name="Submit" type="submit" value="Create Module">
          </div>
        </div>
      </form>

这是我的控制器存储逻辑:

/**
 * Store a newly created resource in storage.
 *
 * @param  \Illuminate\Http\Request  $request
 * @return \Illuminate\Http\Response
 */
public function store(Request $request)
{
    $lesson = new Lesson;
    $lesson->lesson_module_id = $request->lesson_module_id;
    $lesson->title = $request->title;
    $lesson->description = $request->description;
    $lesson->save();

}

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

你忘记了你的htm中的名字属性。