如何在Laravel控制器中将变量传递给视图

时间:2015-09-22 12:48:41

标签: php controller laravel-5

我在Laravel 5.0中有一个像这样的控制器 -

    <?php

    namespace App\Http\Controllers;

    use Illuminate\Http\Request;
    use App\Http\Requests;
    use App\Http\Controllers\Controller;

    class CustomersController extends CustomerLayoutController
    {
        public function getDashboard()
        {
            return $this->view('layouts.customer.dashboard', []);
        }

        public function getTest()
        {
            return $this->view('layouts.admin.webinar', ['qustions' => DB::table('qustions')->get()]);
        }
    }

所以,我想将 DB :: table('qustions') - &gt; get()作为参数传递给我的视图,但是我收到了错误。

我做错了什么?

1 个答案:

答案 0 :(得分:3)

你得到一个错误,因为Laravel正在搜索该类是错误的命名空间(如果你注意的话,它会将该类“附加”到当前类的命名空间)。

您可以使用use关键字导入数据库类:

 use Illuminate\Http\Request;
 use App\Http\Requests;
 use App\Http\Controllers\Controller;
 use DB;

或让它知道DB驻留在“全局”应用程序命名空间中,因此使用反斜杠调用它:

return $this->view('layouts.admin.webinar', ['questions' => \DB::table('qustions')->get()]);