Laraveleloquent限额查询

Laravel eloquent limit query

我有 3 个表 TAble,TableB 和 TableC。 每个都有 100 万个寄存器。

我有 Laravel eloquent 查询。

  $list=    TableA::with([
            'TableB',
            'TableC'
        ])
            ->whereIn('field1',['A','B','C'])
            ->where('created_at','>=','2018-01-01') ->orderBy('fieldC', 'ASC')->orderBy('created_at', 'ASC')
            ->get()
            ->take(50) ;

TableA 有 TableB 和 TableC 这样映射。

public function TableB(){
    return $this->belongsTo('TableB', 'fk_id', 'id');
}

public function TableC(){
  return $this->hasMany('TableC');
}

我如何执行此查询以限制 "TableB" 和 "TableC" 中的注册数。 如果我使用 take() 它只会限制最终结果。

你想做什么? 如果您想分块处理数据,请使用

->chunk(50, function ($data) use ($variable) {
//process
});

如果你想在带页面的表格中显示数据,请使用分页。