如何将表单的$ id传递给另一个表单

时间:2019-05-18 09:49:57

标签: php laravel

我需要通过ID传递多种形式。在下面的示例中,我有2个控制器,一个用于课程,一个用于考试。我正在尝试创建一门课程,然后将课程ID传递给考试表格。

这是我尝试过的,但价值没有传递。

课程控制器:

  public function store(StoreCoursesRequest $request)
{
    if (! Gate::allows('course_create')) {
        return abort(401);
    }
    $request = $this->saveFiles($request);
    $course = Course::create($request->all()
    // $status = array('assigned' => 'assigned', 'canceled'=>'canceled');
    + ['position' => Course::where('curriculum_id', $request->curriculum_id)->max('position') + 1]);
    $trainers = \Auth::user()->isAdmin() ? array_filter((array)$request->input('trainers')) : [\Auth::user()->id];
    $course->trainers()->sync($trainers);
    $course->roles()->sync(array_filter((array)$request->input('roles')));
    $course->assigned_user()->sync(array_filter((array)$request->input('assigned_user')));

    $curriculum = Curriculum::get(array('id' => 'id'));
    $exam = Exam::get(array('id' => 'id'));

    foreach ($request->input('course_materials_id', []) as $index => $id) {
        $model          = config('medialibrary.media_model');
        $file           = $model::find($id);
        $file->model_id = $course->id;
        $file->save();
    }
    session('id', 'id');


    return redirect()->route('admin.exams.create');
}

这是考试负责人

  public function create()
{
    if (! Gate::allows('exam_create')) {
        return abort(401);
    }


    $exam_assigneds = \App\Exam::get()->pluck('title', 'id')->prepend(trans('global.app_please_select'), '');
    $questions = \App\ExamQuestion::get()->pluck('question', 'id');
    $in_classes = \App\InClassCourse::get()->pluck('title', 'id')->prepend(trans('global.app_please_select'), '');
    $reoccurance_type = \App\ReoccuranceType::get()->pluck('type', 'id')->prepend(trans('global.app_please_select'), '');
    $courses = session('id');

    return view('admin.exams.create', compact('courses', 'exam_assigneds', 'questions', 'in_classes', 'reoccurance_type'));
}

这是视图

<div class="row">
            <div class="col-xs-12 form-group">
                {!! Form::label('course_id', trans('global.exam.fields.course').'', ['class' => 'control-label']) !!}
                {!! Form::text('id', $courses, old('id'), ['class' => 'form-control', 'placeholder' => '']) !!}
                <p class="help-block"></p>
                @if($errors->has('course_id'))
                    <p class="help-block">
                        {{ $errors->first('course_id') }}
                    </p>
                @endif
            </div>
        </div>

我得到的只是id的文本值。它不会提取实际的ID。

1 个答案:

答案 0 :(得分:1)

Course Controller中修改

session('id', 'id');

session('id', $course->id);