Laravel查询生成器问题

时间:2018-06-07 02:39:05

标签: mysql laravel-5 laravel-5.6 laravel-query-builder

我正在尝试这样做,以便从数据库中提取的项目仅来自当前月份,但是当我使用各种方法执行此操作时会抛出错误(由于提到的问题,我无法调试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变量提供了正确的值,但是当我试图仅选择本月的那些(使用'date'字段)时,它似乎就会中断。

1 个答案:

答案 0 :(得分:0)

试试这个。如果您想对结果进行分页,请不要忘记在视图中添加分页链接。另外,请不要忘记控制器类中的导入Carbon

https://laravel.com/docs/5.6/pagination

    public function index()
    {
        $trades = Trade::whereMonth('date' , Carbon::today()->month)->paginate();

        $pastwinners = Winner::all();

        return view('raffle', compact('pastwinners', 'trades');
    }