Laravel框架中的自定义函数原始查询

时间:2014-03-07 14:06:37

标签: php mysql performance function laravel-4

请指出我可以在Laravel框架中添加自定义功能的位置,或者安装中是否缺少某些内容? 我正在尝试使用该功能

public function select($query, $bindings = array())
{
    return $this->run($query, $bindings, function($me, $query, $bindings)
    {
        if ($me->pretending()) return array();

        // For select statements, we'll simply execute the query and return an array
        // of the database result set. Each element in the array will be a single
        // row from the database table, and will either be an array or objects.
        $statement = $me->getPdo()->prepare($query);

        $statement->execute($me->prepareBindings($bindings));

        return $statement->fetchAll($me->getFetchMode());
    });
}
教程http://fideloper.com/laravel-raw-queries中的

但我无法找到修改现有Laravel框架的位置。

我需要运行一个查询,从3个表中获取内部联接并收集数据并将其发布到网格中。我需要在Laravel框架中进行修改并创建自己的函数。

请帮忙。 谢谢。

1 个答案:

答案 0 :(得分:0)

是的,所以在您的控制器中,您拥有与路线相对应的方法。 因此,请选择与您的路线对应的方法,并在该方法中调用此函数。

例如在HomeController.php中

Class HomeController extends BaseController {
    public function index() {
        $yourData = DB::raw('your query');
        // if you want to inject it in your view.
        return View::make('yourtemplatename', ['yourdata' => $yourData]);
    }
}

在你的文件routes.php

route::get('/', 'HomeController@index');

但是用Eloquent进行查询是最好的方法。 检查文档。您的查询并不像看起来像加入林一样困难。