gpt4 book ai didi

php - Laravel 4 中的 Bllim DataTables 抛出未定义的 getQuery() 异常

转载 作者:可可西里 更新时间:2023-11-01 13:13:16 26 4
gpt4 key购买 nike

我有以下简单的 Controller :

class OrdersController extends \BaseController {

public function index()
{
$orders = Order::all();

return Datatables::of($orders)->make();
}
}

尝试使用 bllim DataTables 包输出我的表格。当我可以使用上面的 DataTables 时,出现此错误:

Call to undefined method Illuminate\Database\Eloquent\Collection::getQuery()

错误位于\Bllim\Datatables\Datatables.php行:

$this->columns = $this->query_type == 'eloquent' ? $this->query->getQuery()->columns : $this->query->columns;

这个方法应该被定义,除非我弄错了。那么这里缺少什么?

最佳答案

Usage

It is very simple to use this bundle. Just create your own fluent query object or eloquent object without getting results (that means don't use get(), all() or similar methods) and give it to Datatables. You are free to use all Eloquent ORM and Fluent Query Builder features.

通过调用 all() 方法,您将返回一个 Illuminate\Database\Eloquent\Collection 对象,在本例中不包含 getQuery( ) 方法,您需要传递 Illuminate\Database\Eloquent\BuilderIlluminate\Database\Query\Builder 代替。

试试这个:

return Datatables::of(Order::select(array('id', 'othercolumns')))->make();

或者这个:

$query = DB::table('orders')->select(array('id','othercolumns'));
return Datatables::of($query)->make();

在数组中选择要在数据表中显示的列。

关于php - Laravel 4 中的 Bllim DataTables 抛出未定义的 getQuery() 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23319700/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com