【发布时间】:2019-01-22 17:56:34
【问题描述】:
我正在使用 Laravel 5.2,我想做的是从我的数据库中的信息中填充一个 jQuery 数据表。这是我的代码:
Route::get('/a/VentasPorSucursal', function(){
$values = [1, 8000, 2, "NULL", "2018-06-10", "2018-08-10", "NULL", "NULL"];
$data = DB::select('SP_RPT_VENTAS2 ?, ?, ?, ?, ?, ?, ?, ?', $values)->take(10);
return Datatables::of(collect($data))->make(true);
});
当我运行我的应用程序时,我收到以下错误消息:
调用数组上的成员函数take()
如果我删除这部分代码一切正常:
->take(10)
我也尝试过使用 ->paginate(10),但我得到了同样的错误信息。
可能是什么问题?
【问题讨论】:
-
DB::select(...)返回一个数组,take()不是数组的有效方法。也许在您的声明中添加LIMIT 10(或 db 等效项)? -
@TimLewis 好的,我明白这一点,但是在我的语句中添加一个限制 x 之后,我将执行另一个函数来显示接下来的 10 行,对吗?
-
那你不做
OFFSET 10吗?话虽如此,我不知道SP_RPT_VENTAS2是什么或它的作用......对我来说,看起来你正在选择静态值并期望有 10 多行。 -
@TimLewis 这是一个存储过程(来自 sql server),它获取 $values 数组中两个静态日期之间的所有信息
-
我猜是这样的。我确信有一种方法可以将 Sproc 转换为
Builder实例,它可以让您使用->paginate()以及其他构建器方法,但不幸的是我不知道。
标签: php laravel-5 laravel-5.2