表单操作未重定向到路由

时间:2016-05-12 13:12:58

标签: php laravel laravel-5

我有这个控制器:

  public function category($name)
  {
        $ch = DB::select('select * from quiz where category=?',['$name']);
        return View('quiz.index',['quiz'=>$ch]);     

 }

返回视图quiz.index。此视图有一个表单

<form method="POST" action="{{url('quiz/check/$quiz->category')}}"
{!! csrf_field() !!} 

@foreach ($quiz as $q)

@if($q->level=='1')
{{ $q->qid }}.  
{{ $q->question }}<br>
<input type='radio' name='mycheck[{{$q->qid}}]' value='1'>     
{{ $q->opt1 }}<br>
<input type='radio' name='mycheck[{{$q->qid}}]' value='2'>     
{{ $q->opt2 }}<br>
<input type='radio' name='mycheck[{{$q->qid}}]' value='3'>    
{{ $q->opt3 }}<br>
<input type='radio' name='mycheck[{{$q->qid}}]' value='4'>   
{{ $q->opt4 }}<br><br>
@endif
@endforeach        
    <button type="submit" class="btn btn-default">Get result</button>
                            </form>

表单中的操作有什么问题。它没有被重定向到这条路线:换句话说,$quiz->category在行动中可能无效。

Route::post('/quiz/check/{name}', 'playquiz@check');

2 个答案:

答案 0 :(得分:0)

您在单引号内有变量和方法调用。附加它或使用带有大括号的双引号。换句话说,不要这样做:

url('quiz/check/$quiz->category')

但要做其中任何一项:

url('quiz/check/'.$quiz->category)
url("quiz/check/{$quiz->category}")

答案 1 :(得分:0)

试试这个:

{{url("quiz/check/{$quiz[0]->category}")}

或在您的控制器中更改为:

return View('quiz.index')->with('show');

和视图:

{{url("quiz/check/$show->category")}