如何在laravel中调试数据查询

时间:2014-09-25 20:52:01

标签: laravel

这是一个初学者问题,但我搜索了一个小时,但无法找到答案。 我正在尝试编写一个简单的数据查询,我将其包含在HomeController

<?php

class HomeController extends BaseController {

        public function showWelcome()
        {
                return View::make('hello');
        }

}
$programs=DB::table('node')->where('type', 'Programs')->get();

$ program是未定义的所以我猜我的查询没有用,但我不知道如何调试它。我尝试安装firebug和phpbug以及chromphp工具,但它们似乎没有显示任何东西。我的apache日志也没有显示任何内容。我错过了什么吗?我该如何调试呢?

3 个答案:

答案 0 :(得分:1)

您可以将该查询的结果传递给视图,如下所示:

class HomeController extends BaseController {

    public function showWelcome()
    {
        $programs = DB::table('node')->where('type', 'Programs')->get();

        return View::make('hello', array('programs' => $programs));
    }
}

在您的视图中,您将可以访问$ programs变量。

答案 1 :(得分:1)

在使用类时,不能在方法之外使用表达式,而是需要将其放在如下方法中:

class HomeController extends BaseController {

    public function getPrograms()
    {
        $programs = DB::table('node')->where('type', 'Programs')->get();

        // pass the $programs to the programs view for showing it
        return View::make('programs')->with('programs', $programs);
    }

}

所以,例如,如果你有这样的路线:

Route::get('/programs', 'HomeController@getPrograms');

然后,您可以使用URL之类的:example.com/programs来调用班级getPrograms中的HomeController方法。

这个答案可能没什么用,但我认为你应该首先学习基础知识(PHP Manual),以便在线阅读书籍和文章,并查看Laravel网站阅读documentation

答案 2 :(得分:0)

我不知道如果我错过了这一点,但是你不能用“dd($ programs)”检查变量里面是什么内容?