Laravel:未定义的变量回复

时间:2015-04-07 08:15:18

标签: laravel laravel-4

当我从创建视图提交表单时,我收到错误,即我的布局文件中的变量尚未定义。未定义的变量:显示回复,未发布任何内容。

我的路线:

Route::post('/contact/search',array('uses'=>'HomeContactController@search','as'=>'home.contact.search'));

我的控制器:

public function search()
{
    try
        {

            $q = Input::get('tracking_number');

            $reply = DB::table('contact')
            ->join('contact_reply', 'contact.id', '=', 'contact_reply.contact_id')
            ->where('tracking_number','like',$q)
            ->select('name','tracking_number','email','phone','subject','description','description_reply', 'created_at', 'created_date')
            ->orderby('created_date','desc')
            ->get();

            if (count($reply) === 0)
            {
                return  Redirect::route('home.contact')->with('danger','No reply .');
            }
            //$logs = DB::getQueryLog();
            //dd(end($logs));

            //var_dump($contact);   
            return View::make('home.pages.contact', compact('reply'));

        }
        catch ( ModelNotFoundException $e )
        {
            return Redirect::route('home.contact')->with('danger','Request is not valid.');
        }
}

我的观点:

<section>
        <table class="standard-table">
            <tbody>
                <tr>
                    <th>Name</th>
                    <th>Mail</th>
                    <th>Tell</th>
                    <th>Text Reply</th>
                </tr>
                @foreach ($reply as $rep)
                <tr>
                    <td>{{ $rep->name }}</td>
                    <td>{{ $rep->email }}</td>
                    <td>{{ $rep->phone }}</td>
                    <td>{{ $rep->description_reply }}</td>
                </tr>
                @endforeach
            </tbody>
        </table>
        </section>

1 个答案:

答案 0 :(得分:0)

您的代码没有显示任何明显的问题,在视图中包含变量非常简单。

您可以尝试通过其他方法转发$ reply,例如return View::make('home.pages.contact')->withReply($reply);

在退回视图之前检查控制器中的dd($reply),并在视图中{{ dd($reply) }}