【发布时间】:2018-11-16 20:05:45
【问题描述】:
我正在尝试使从数据库中提取的项目仅来自当前月份,但是当我使用各种方法执行此操作时,它会引发错误(由于提到的问题,我无法调试here)。在下面的代码中,如果我只是简单地对完整结果进行分页,它可以正常工作,但是当我开始使用查询构建器方法时它会给出错误,有人知道为什么会发生这个错误吗?
public function index()
{
// $trades=Trade::paginate(10);
$currentMonth = date('m');
$trades = DB::table('trades')->whereMonth('date', $currentMonth)->paginate(10);
// dd($trades);
$pastwinners=Winner::paginate(10);
return view('raffle', compact('pastwinners'), compact('trades'));
}
正如您在上面看到的 $pastwinners 变量和第一个 $trades 变量提供了正确的值,但是当我尝试仅选择本月的那些(使用“日期”字段)时,它似乎中断了。
【问题讨论】:
-
Trade::代替DB::table('trades')->有效吗?->get()代替->paginate(10)有效吗? -
是的,被注释掉的第一行工作正常,但我希望能够只选择当月的项目。
-
Trade::whereMonth('date', $currentMonth)->get();有效吗?dd(Trade::whereMonth('date', $currentMonth)->toSql());的结果是什么? -
它与 dd 一起工作,但是在我渲染视图时中断,我需要能够对结果进行分页。第二行的结果是
select * from 'trades' where month('date') = ? -
你可以发布视图吗?
标签: mysql laravel-5 laravel-5.6 laravel-query-builder