leftjoin('distribution_channels','distribution_channels.id','=','liquidations.distribution_channel_id') ->where('liquidations.amount', '<>', 0) ->orderBy('liquidations.id','desc'); if(isset($params['channel_id']) && $params['channel_id']) $search_object->where('liquidations.distribution_channel_id', $params['channel_id']); if(isset($params['channel_name']) && $params['channel_name']) $search_object->where('distribution_channels.name','like', "%".$params['channel_name']."%"); if(isset($params['pay_merchant_source']) && $params['pay_merchant_source']) $search_object->where('liquidations.pay_merchant_source', $params['pay_merchant_source']); if(isset($params['search_name']) && $params['search_name']) { $search_object->where(function ($query) use($params) { $query->where('distribution_channels.name','like', "%".$params['search_name']."%") ->orWhere('distribution_channels.nickname', 'like', "%".$params['search_name']."%") ->orWhere('distribution_channels.person_in_charge_name', 'like', "%".$params['search_name']."%"); }); } if(isset($params['start_date']) && $params['start_date']) $search_object->where('liquidations.created_at','>=', $params['start_date']); if(isset($params['end_date']) && $params['end_date']) $search_object->where('liquidations.created_at','<=', $params['end_date']); if($isAll) { return $search_object->get(); } else { return $search_object->paginate(); } } }