在laravel 4.2中无法访问从控制器传递给我的视图的变量

时间:2015-04-08 07:38:54

标签: php laravel

我有一个包含表单的视图。表单的网址是表单所在的视图地址。 在控制器中,当用户点击表单中的按钮时,我将一个变量传递给视图。 但我的观点有一个错误,说我传递给它的变量是未定义的。

这是我的代码

我的观点:

@extends('layouts.master')

@section('content')

<?php
    $category = Category::lists('name','name');
    $priority = Priority::lists('name','name');
    $lesson = Lesson::lists('name','name');
    $count = 1;
?>

{{ Form::open(array('action' => 'createQuizController@find', 'method' => 'POST', 'id' => 'search_question')) }}

    <div>
        {{ Form::label('quiz_cat', 'نام دسته بندی') }}
        {{ Form::select('quiz_cat', array('/'=>'انتخاب کنید')+$category, null, ['id' => 'cat_select']) }}
    </div>

    <div>
        {{ Form::label('quiz_less','نام درس') }}
        {{ Form::select('quiz_less',$lesson, null, ['id' => 'les_select']) }}
    </div>

    <div>
        {{ Form::label('quiz_prio','سطح سوال') }}
        {{ Form::select('quiz_prio',array('/'=>'انتخاب کنید')+$priority, null, ['id' => 'prio_select']) }}
    </div>

    <div>
        {{Form::label('date_start','تاریخ شروع')}}
        {{Form::input('date','date_start',null,array('id' => 'date_start'))}}
    </div>

    <div class='form-group'>
        {{ Form::submit('جستجو', ['class' => 'btn btn-primary']) }}
    </div>

{{ Form::close() }}

<iframe width="690px" height="300px" scrolling="yes">
{{ Form::open(array('method' => 'POST', 'id' => 'add_question')) }}

<div class="col-lg-10 col-lg-offset-1">
    <div class="table-responsive" id="question_table">
        <table class="table table-bordered table-striped">
            <thead>
            <tr>
                <th>ردیف</th>
                <th>عنوان سوال</th>
                <th></th>
            </tr>
            </thead>

            <tbody>
            @foreach ($res as $quiz)
                <tr>
                    <td align="center" width="100px">
                        <?php echo $count++; ?>
                    </td>
                    <td align="center" width="200px">{{ $quiz->title }}</td>
                    <td align="center" width="200px"><input type="checkbox" name="select_question[]" id="{{ $quiz->lesson_id }}" value="{{ $quiz->id }}"></td>
                </tr>
            @endforeach
            </tbody>
        </table>
    </div>
</div>

{{ Form::submit('افزودن', ['class' => 'btn btn-primary']) }}

{{ Form::close() }}
</iframe>

@stop

我的控制员:

<?php
class createQuizController extends BaseController {

public function find()
{
    $prio = Input::get('quiz_prio');
    $res1 = DB::select("select id from priority pr where '$prio' = pr.name");
    $r1 = $res1[0]->id;

    $cat = Input::get('quiz_cat');
    $res2 = DB::select("select id from categories cat where '$cat' = cat.name");
    $r2 = $res2[0]->id;

    $les = Input::get('quiz_less');
    $res3 = DB::select("select id from lesson less where '$les' = less.name");
    $r3 = $res3[0]->id;

    $sdate = Input::get('date_start');

    $res = DB::select("select * from quiz where categories_id='$r2' and lesson_id='$r3' and priority_id='$r1' and date_start='$sdate'");

    return View::make('cquiz')->with('res',$res);
}

public function addQuestion()
{
    $a = array();
    $a[] = Input::get('select_question');
    var_dump($a[]);
        /*foreach($a as $b) {
            $c = DB::select("select name from lesson where '$b'=id" );
            var_dump($c);
        }*/
}

}

我的路线:

Route::post('/cquiz/','createQuizController@find');
Route::post('/addQuestion/','createQuizController@addQuestion');

1 个答案:

答案 0 :(得分:0)

试试这个:

返回View :: make('cquiz') - &gt; withRes($ res);

在视图中,您可以访问'$ res'(或{{$ res}}等)