将变量从 blade 传递到路由,然后从那里传递到另一条路由

Pass a variable from blade to route and from there to another route

我知道一定有比我想象的更简单的方法,所以我想在这里问一下。

我想从这里通过$exam->id(当你点击开始测试时)

@foreach($category->exams as $exam)
    <tr>
        <td>{{$exam->id}}</td>
        <td>{{$exam->title}}</td>
        <td>od {{$exam->start_date}} do {{$exam->end_date}}</td>
        <td class="center"><span class="badge">{{$exam->number_of_points}}</span></td>
        <td class="center"><a href="#"><i class="fa fa-arrow-circle-right"></i> Start test</a></td>
    </tr>
@endforeach()

这应该使用这条路线并传递那个变量

 Route::get('exam','ExamController@create'); // this is where i dont know how to set route to pass to another one

考试控制器

 public function create() {

    return View::make('exam.index');
}

最后,当用户点击提交时,它将 $exam_id 发送到 ajax 以显示考试

{{ Form::open(['data-remote', 'method' => 'GET', 'route' => ['exam_data',$exam_id]]) }}
    <div class="exam-name">
    </div>

    <div class="form-group exam">   
        Click Start to start the test!
   </div>

    <div class="form-group">

        {{ Form::submit('Start', ['class' => 'btn btn-default','id'=>'btn-next-question', 'data-confirm']) }}

   </div>

 {{Form::close()}}

提交按钮的路由

Route::get('exam/{id}',['as' => 'exam_data', 'uses' => 'ExamController@getExambyNumber']);

当我在该表格上输入随机考试 ID 编号(例如 1 而不是 $exam_id 时,一切正常,我只是不知道如何通过考试。感谢任何帮助。

我首先发现我所做的是更改 Start Test 以将数组传递给 Route

 <td class="center"><a href="{{ URL::route('exam_id', array('id'=>$exam->id)) }}"><i   class="fa fa-arrow-circle-right"></i> Start Test</a></td>

考试路线

Route::get('exam',['as' => 'exam_id', 'uses' => 'ExamController@create']);

在控制器中看起来像

public function create()
{

   $exam_id = Input::get('id');
   return View::make('exam.index', array('exam_id' => $exam_id));
}

其余代码相同