我有5个表与自定义字段相关,字符串不是id。
我希望获得与我想要查询的表相关的每个表的数量总和。
我设法使用leftjoin使其工作,但至少需要10秒 给出结果。
我想优化我的查询。
$raohs = Raoh::leftjoin('func','raoh.FFUNCCOD','=','func.FFUNCCOD')
->leftjoin('appd','raoh.FRAOCOD','=','appd.FRAOCOD')
->leftjoin('altd','raoh.FRAOCOD','=','altd.FRAOCOD')
->leftjoin('obrd','raoh.FRAOCOD','=','obrd.FRAOCOD')
->where(function($query) {
$search = \Request::get('search');
$query->where('fraodesc', 'like', '%' . $search . '%')
->orWhere('fsourcod', 'like', '%' . $search . '%');
})
->where('func.FFUNCCOD', 'like', '%' . trim($ffunccod) . '%')
->select(\DB::raw('fraodesc,fsourcod,raoh.ffunccod,raoh.FRAOCOD,func.ffunction,sum(appd.FAMOUNT) AS fapprop, sum(altd.FAMOUNT) AS fallot, sum(obrd.FAMOUNT) AS foblig'))
->orderBy('ffunction')
->groupBy('raoh.FRAOCOD')
->paginate(20);