Как передать $ id формы в другую форму - PullRequest
0 голосов
/ 18 мая 2019

У меня есть несколько форм, где мне нужно пройти через идентификатор.В приведенном ниже примере у меня есть 2 контроллера, один для курсов и один для экзаменов.Я пытаюсь создать курс и затем пройти через идентификатор курса к форме экзамена.

Вот то, что я пробовал, но значение не передается.

Контроллер курса:

  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.Это не тянет фактический идентификатор.

1 Ответ

1 голос
/ 18 мая 2019

В Course Controller изменить

session('id', 'id');

до

session('id', $course->id);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...